Animation et cocos2d (utilisation) et autres questions

CoharsCohars Membre
novembre 2010 modifié dans Apple Developer Programs #1
Bonjour,
je viens rarement sur ce forum, mais ça risque d'être de plus en plus fréquent.
Je suis un gros débutant !

Est-ce que vous connaissez Cocos2D ?
J'aimerais savoir s'il est possible d'en utiliser que certaines fonctions. Par exemple, je ne créer pas une "cocos2d application" mais une "view-based application" est-ce que je peut me servir d'une fonction de cocos2d sans copier tous les fichiers d'une "cocos2d application" ? Parce ça rend l'application plus lourde, il y a des framework dont je n'ai pas forcément besoin et la compilation est bien plus longue !

En fait pour commencer avec Cocos2D, j'aimerais simplement faire tourner une image sur elle-même, je ne sais pas trop comment faire ce genre d'animation.

Il y aussi un autre truc que j'aimerais faire, c'est faire en sorte que quand on touche l'écran, une image apparaisse.
Donc repérer le touché j'y arrive, mais je ne sais pas comment faire apparaitre l'image.
non en fait ** c'est vraiment tout bête, j'ai trouvé. Par contre, comment faire pour supprimer une image (une vue) ? Je pourrais faire une vue ide mais du coup, j'aurais plein de vue invisible qui se baladeraient sur mon écran >< .

Bref, répondez à  ce qui vous parait pertinent et ce que vous voulez, je finirais bien par trouver, mais j'en ai marre de google et de l'anglais aujourd'hui :p !

** edit : finalement c'est peut-être pas si bête. Jusque là , je créais toute mes vue dans "loadview", sauf que la fameuse image que je voulais faire apparaitre au touché, je l'ai mise dans touchesbegan. J'ai donc mis [self.view addSubview:image]; dans touchesbegan, seulement, ma vue se retrouve devant les vue créés dans "loadview", comment le mettre derrière ?

Merci :)

Réponses

  • DrakenDraken Membre
    novembre 2010 modifié #2
    Cocos2D est une sur-couche au dessus d'OpenGL. Si tu n'as pas besoin de tout le mécanisme, pourquoi ne pas utiliser OpenGL en écrivant les quelques fonctions dont tu as besoin ? Le template OpenGL montre comment mettre cela en oeuvre.

    EDIT :
    Il y a une dizaine d'exemple d'utilisation d'OpenGL dans les templates du site d'Apple, notamment GLSprite qui charge et affiche une image.

    Sinon j'ai l'impression que tu mélanges OpenGL,Cocos2D et la gestion des vues d'Apple. Ce n'est pas du tout la même chose. OpenGL et Cocos2D n'utilisent pas les vues, mais un mécanisme spécifique et très différent.

    Le template OpenGL montre comment créer une pseudo vue OpenGL, afin de l'utiliser dans le cadre d'une application iPhone. Mais pour la manipuler, il faut ensuite utiliser des fonctions spécifiques. Les exemples d'utilisation OpenGL du site Appe montrent comment faire.

  • CoharsCohars Membre
    13:13 modifié #3
    hmm parce que je sais pas faire :p .

    alors, j'ajoute OpenGLES.framework c'est ça ? Je n'ai jamais utiliser openGL en fait. Et je ne sais pas du tout comment créer ces fameuse fonctions. (je connais un peu le langage C, et en objective-c, j'en suis à  mes débuts).
    "Le template OpenGL montre comment mettre cela en oeuvre."

    Juste pour être sur  ??? , un template vous avez une définition exacte ?

    Et je le trouve où ce fameux template OpenGL ?

    Là  je ne sais même plus quel mot clé mettre dans google !
  • DrakenDraken Membre
    novembre 2010 modifié #4
    http://developer.apple.com/library/ios/navigation/index.html?section=Resource+Types&topic=Sample+Code

    Je ne sais pas si tu peux y accéder. Il est possible que cela soit réservé aux personnes ayant une licence de développement iPhone.

    Lors de la création d'une application iPhone, Xcode propose plusieurs modèles d'application: View-based Application, Windows-based Application, Tab Bar Application, etc.. Ces modèles, que l'on appelle aussi Templates, sont adaptés à  différentes situations. Le template OpenGL ES Application crée une mini-application OpenGL.

  • CoharsCohars Membre
    13:13 modifié #5
    Ah au moins ce lien je connais :p .
    Et donc c'est ça les fameux "templates" ? C'est les "sample code"

    à‰h dis-donc, dans GLSprite l'image tourne, c'est beau ça ! Merci beaucoup.

    Sinon j'ai l'impression que tu mélanges OpenGL,Cocos2D et la gestion des vues d'Apple


    En fait, je ne connais ni OpenGL (pour le moment), ni Cocos2D. Donc on ne peut pas vraiment dire que je confonde... disons que je découvre ^^ .

    En fait jusque là  je n'ai fait que des chose basiques, quand on penche l'iphone la balle bouge, quand on touche on peut la déplacer, une boule qui rebondit contre des murs, etc etc.
    Mais là  j'ai l'impression de partir dans de mauvaises directions, parce que j'apprends comme je peux avec les exemples d'apple et mes quelques connaissances, bref, j'ai  besoins de conseils clairs et en français !

    Donc Cocos2D je vais laisser de côté pour le moment, OpenGL me parait plus important.

    Et sinon, par rapport à  l'image que je fais apparaitre en touchant, bon c'est plutôt simple c'est une balle que monte et quand on touche l'écran elle se déplace horizontalement... sauf que du coup, si je la met dans touchesbegan, elle s'arrête là  où elle est quand j'arrête de toucher, et quand je touche, une autre apparait :p . Forcément.

    Il n'y a pas moyen de mettre if (l'utilisateur touche l'écran) {} ?  ::)

    edit : je n'ai pas la licence, mais j'ai un compte, j'ai donc accès aux samplecodes !
  • DrakenDraken Membre
    novembre 2010 modifié #6
    OpenGL n'est pas simple à  utiliser, mais c'est comme ça qu'on arrive à  faire des jeux 2D ou 3D ultra-rapides sur iPhone.  <3 <br />
    Et vas te présenter ici : http://pommedev.mediabox.fr/index.php/board,55.0.html
  • CoharsCohars Membre
    13:13 modifié #7
    Wouhou :p .

    En tout cas je le trouve bien long le code pour faire tourner une image  :D . Même sans les commentaires !!
    Je verrais tous ça demain. Merci pour ton aide !!
  • DrakenDraken Membre
    novembre 2010 modifié #8
    Un site avec des tutos sympas pour OpenGl sur iPhone : http://www.ipup.fr/forum/

    La majeure partie du code ne concerne pas l'affichage de l'image tournante, mais la mise en place et l'activation d'OpenGL.

  • CoharsCohars Membre
    13:13 modifié #9
    Ah oui, je savais bien que j'avais déjà  vu des tutos sur OpenGL, c'était sur iPup, merci.

    Je vais voir ce que je peux faire ^^ .
    Et sinon il y a un framework Quartz également qui a l'air intéressant, il sert à  quoi en gros ?
  • CoharsCohars Membre
    novembre 2010 modifié #10
    Petite question,
    j'utilise régulièrement [self.view addsubview: ... ]; , mais existe-t-il l'inverse ? Un genre de [self.view deletesubview: .... ];
    pour faire disparaitre un objet.

    Peut-être que je dois faire ça avec OpenGL ? :p . Je n'ai pas du tout avancé, j'ai du mal à  trouver des tutos. (autre que faire apparaitre un carré ou un triangle avec un dégradé.)

    EDIT : j'oubliais : comment on définit un nombre aléatoire en obj-c ? Je n'ai pas trouvé.
  • 13:13 modifié #11
    dans 1288999163:

    Petite question,
    j'utilise régulièrement [self.view addsubview: ... ]; , mais existe-t-il l'inverse ? Un genre de [self.view deletesubview: .... ];
    pour faire disparaitre un objet.

    Peut-être que je dois faire ça avec OpenGL ? :p . Je n'ai pas du tout avancé, j'ai du mal à  trouver des tutos. (autre que faire apparaitre un carré ou un triangle avec un dégradé.)

    EDIT : j'oubliais : comment on définit un nombre aléatoire en obj-c ? Je n'ai pas trouvé.


    Il existe la méthode removeFromSuperview. Par exemple
    <br />[view1 removeFromSuperview];<br />
    


    ou encore

    <br />[[self.view subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];<br />
    




    Quant au random :
    <br />arc4random() % i<br />
    
  • CoharsCohars Membre
    13:13 modifié #12
    Merci beaucoup !! Je vais essayé tout ça de ce pas, ou peut-être demain...
Connectez-vous ou Inscrivez-vous pour répondre.