Comment dessiner un cercle plein, avec cocos2d pour iPhone
Est-il possible de tracer un cercle rempli avec cocos2d ?
Un décrites cercle peut être fait à l'aide de la drawCircle() de la fonction, mais est-il un moyen de le remplir d'une couleur? Peut-être en utilisant pure OpenGL?
OriginalL'auteur | 2009-07-04
Vous devez vous connecter pour publier un commentaire.
Dans DrawingPrimitives.m, le modifier dans drawCricle:
:
Vous pouvez en lire plus à propos de primitives opengl ici:
http://www.informit.com/articles/article.aspx?p=461848
OriginalL'auteur quano
Voici une légère modification de la ccDrawCircle() qui permet de dessiner en toute tranche d'un cercle. Bâton de ce dans CCDrawingPrimitives.m et ajouter également la méthode d'informations d'en-tête de CCDrawingPrimitives.h:
Paramètres:
a
: à partir de l'angle en radians,d
: delta ou de la modification de l'angle en radians (utiliser2*M_PI
pour un cercle complet)Modifications sont commentées
OriginalL'auteur pingpongboss
Regarder dans:
Cela vous permettra de remplir un cercle sans avoir besoin d'OpenGL
OriginalL'auteur Grouchal
Je me demande aussi cela, mais je n'ai pas vraiment accompli de le faire. J'ai essayé d'utiliser CGContext trucs qui Grouchal incliné au-dessus, mais je n'arrive pas à en tirer quoi que ce soit sur l'écran. C'est ce que j'ai essayé:
Ces méthodes sont définies dans une cocos classe de nœud, et le makestuff méthode que j'ai emprunté à partir d'un exemple de code...
NOTE:
Je suis en train de dessiner n'importe quelle forme ou le chemin d'accès et le remplir. Je sais que le code ci-dessus ne tire des lignes, mais je n'ai pas envie de continuer jusqu'à ce que j'ai eu de travail.
EDIT:
C'est probablement une merde solution, mais je pense que ce serait au moins travail.
Chaque CocosNode a une texture (Texture2D *). Texture2D classe peut être initialisé à partir d'une UIImage. UIImage peut être initialisé à partir d'un CGImageRef. Il est possible de créer un CGImageRef contexte pour le quartz lib.
Donc, ce que vous voulez faire est:
Question est de savoir si ce serait assez rapide à faire. Je préfère, si vous pouviez sorte d'obtenir un CGImageRef de la CocosNode directement et y dessiner au lieu de passer par toutes ces étapes, mais je n'ai pas trouvé un moyen de le faire (mais je suis un peu un noob à ce il est donc difficile d'obtenir quelque part).
OriginalL'auteur quano
Il y a une nouvelle fonction dans cocos2d
CCDrawingPrimitives
appeléccDrawSolidCircle(CGPoint center, float r, NSUInteger segs)
. Pour ceux qui cherchent à ce moment, l'utilisation de cette méthode au lieu de cela, alors vous n'avez pas à jouer avec les cocos2d code, il suffit d'importerCCDrawingPrimitives.h
OriginalL'auteur Sebastian
J'ai utilisé de cette façon ci-dessous.
J'ai fait de multiples cercle avec une boucle for et ressemble à un cercle rempli.
OriginalL'auteur Takezo