2015-09-02 1 views
0

Les coordonnées origine i.e-X et Y (0, 0) commencent en bas à gauche de l'écran (mode portrait). Est-il possible de déplacer l'origine (0, 0) au centre de l'écran? Donc, que je peux différencier quand mon sprite est sur l'axe positif ou négatif sur les deux coordonnées X et Y?Déplacement des coordonnées d'origine de la partie inférieure gauche vers le centre de l'écran

Ou existe-t-il une autre logique qui pourrait être utilisée pour savoir quand l'image-objet est à gauche ou à droite de l'écran?

Répondre

1

Cocos2d fonctionne avec un arbre de nœuds, la position de chaque sous-noeud est relative au parent. Cela signifie que si vous ajoutez un nœud intermédiaire entre votre couche et tout le reste, vous pouvez facilement obtenir le comportement souhaité. Par exemple:

Node* mainNode = Node::create(); 
mainNode->setPosition(Point(WIDTH/2, HEIGHT/2)); 
layer->addChild(mainNode); 

// this will now place the sprite in the middle of the viewport 
Node* sprite = ... 
sprite->setPosition(Point::ZERO); 
mainNode->addChild(sprite); 
+0

J'ai essayé ceci mais n'a pas pu ajouter mainNode. – Vineet

+0

Pouvez-vous implémenter ceci sur HelloWorld.cpp de base, s'il vous plaît? – Vineet