Question

Je viens de lire une partie de la documentation cocos2d, et pour autant que je comprends d'ajouter une image de fond à une couche que vous devez faire quelque chose comme:

Sprite * bg = [Sprite spriteWithFile:@"Background.png"];
[layer addChild:bg z:0];

Allthough aussi loin que mes tests va vous pouvez simplement ajouter directement l'image-objet sur la scène comme ceci:

@implementation IntroScene
- (id) init {
self = [super init];
if (self != nil) {
    Sprite * bg = [Sprite spriteWithFile:@"Background.png"];
    [bg setPosition:ccp(240, 160)];
    [self addChild:bg z:0];
    [self addChild:[MenuLayer node] z:1];
}
return self;

}

Quelle est la différence entre ces 2 options, et quelle est la meilleure façon de définir un arrière-plan pour une couche ?. Toute aide sera grandement appréciée.

Était-ce utile?

La solution

Vous n'avez pas besoin d'avoir une couche, mais ils sont à portée de main. Pensez aux couches comme un moyen de regrouper sprites (visuellement qu'organisationnel). Vous pouvez vos images d'arrière-plan regroupées en tant que couche et tous les ennemis dans un jeu comme une autre couche. Cela vous permet de traiter chaque jeu plus propre. par exemple. Vous pouvez supprimer une couche spécifique au lieu de trouver tous les ennemis et de les supprimer.

Si elle aide, jouer avec calques dans Photoshop ou un programme d'édition graphique. Les couches dans le travail. De même cocos2d

Pour une scène simple, en ajoutant l'arrière-plan à une couche ou à une scène ne fera pas beaucoup de différence. Mais il ne faut pas longtemps avant que les avantages de la superposition des coups de pied dans.

Autres conseils

couches schéma de commande également commander (au-delà de toute commande inter-couche z).

Dans geoSpark, par exemple, j'ai une couche de fond, une couche d'allumage, une couche d'interface utilisateur, etc. (simplifié). Mais cela me permet de faire mes affaires que l'interface utilisateur est toujours au-dessus toute substance de jeu (la couche d'allumage) et tout ce qui est au-dessus du fond.

Si votre jeu ne seul additif rendu, tirer commande ne sera pas beaucoup d'importance. :)

- David

scène est un tableau noir, la couche est une page ... nouvelles est écrit à la page, mais, si vous voulez, vous pouvez écrire sur le tableau. Si vous voulez effacer toutes les nouvelles.

Dans cocos2d nous pouvons ajouter un nœud sur un nœud. Mais cela dépend du niveau de la hiérarchie.

Vous pouvez ajouter des couches sur les scènes. Si vous voulez même propriété ou regardez pour toutes les couches que vous ajoutez sur un CCScene vous pouvez ajouter ceux CCScene (comme dans votre deuxième cas). mais si vous voulez avoir différentes caractéristiques de chaque couche ajouter ceux CCLayer.

CCLayer est destiné à regrouper un ensemble de noeuds / sprites pour quelque chose. Par exemple, vous pouvez ajouter une couche qui comprend des options après une pause d'un jeu, ou une couche HUD pour afficher som type toujours à l'écran avec une couche de défilement (comparerai dans certains jeux de plate-forme de défilement).

Enfin, vous pouvez même CCNode sur une CCScene, une couche sur une autre couche, et même un CCNode sur un CCSprite. Mais l'ordre de dessin dans le contexte graphique dans cocos2d est différent.

vous avez espère la différence.

Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top