2011-03-06 8 views

Répondre

2

Cela dépend entièrement de la façon dont vous utiliserez la forme; s'ils vont se déplacer, combien d'entre eux seront affichés, s'ils seront mis à l'échelle lors de l'affichage, etc

En général, OpenGL ES est considéré comme le moyen le plus rapide de dessiner sur les appareils iOS. Cependant, si vous avez seulement un petit nombre de ces formes (disons, < 10 ~ 100?) Et l'autre partie de l'application n'a pas beaucoup d'animations rapides Quart 2D est généralement suffisant en termes de dessin, afin de, Par exemple, atteindre un taux de dessin de 30/60Hz.

L'utilisation de Quartz2D est toujours très importante. Si vous devez redessiner fréquemment les formes, vous devez dessiner la forme sur CALayers et, plutôt que de redessiner les formes, vous devez déplacer et transformer les calques. En comparant le dessin comme un bitmap et une forme de vecteur, je crois que les deux fonctionneraient bien pour ce genre de forme (surtout parce que vous pas redessiner la forme si souvent, mais seulement travailler avec la couche sur laquelle l'image déjà est tiré). Mais si vos formes sont mises à l'échelle fréquemment, vous envisageriez des images vectorielles pour la qualité de l'image. Pour résumer, apprenez (si vous ne le savez pas déjà) comment dessiner dans un contexte graphique en premier (voir Guide de dessin et d'impression pour iOS). Vous devriez être capable de dessiner une forme vectorielle simple ou une image bitmap en remplaçant drawRect ou des méthodes similaires à l'intérieur d'un objet UIView. Ensuite, si vous avez besoin d'animer ces formes, apprenez comment créer un calayer et dessiner sur le calque (voir Guide de programmation d'animation de base). Enfin, si vous avez besoin de créer plusieurs doublons de la forme à l'écran, apprenez comment utiliser CGLayer pour répliquer une image (voir Guide de programmation 2D Quartz).

+0

Si l'arrière-plan n'est pas une couleur constante, existe-t-il un moyen de lire l'arrière-plan en cours et de dessiner la forme sur ce rectangle en particulier? Je dois le faire très souvent, donc la performance est primordiale. Merci pour la réponse, cela me donne la direction dans laquelle je dois aller. –

+0

Je souhaite que les docs d'Apple décrivent la courbe d'apprentissage d'une manière aussi claire et linéaire. THX! –

Questions connexes