Pregunta

Acabo de leer algunos de los documentos cocos2d, y por lo que yo entiendo que añadir una imagen de fondo en una capa que tiene que hacer algo como:

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

Acabase tan lejos como mis pruebas que va simplemente puede añadir directamente el sprite a la escena como esto:

@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;

}

¿Cuál es la diferencia entre estos 2 opciones, y cuál es la mejor manera de establecer un fondo para una capa ?. Cualquier ayuda será muy apreciada.

¿Fue útil?

Solución

No es necesario tener una capa, pero son útiles. Piense de las capas como una forma de agrupar sprites (tanto visualmente y organizativamente). Es posible que desee que sus imágenes de fondo agrupados como una capa y todos los enemigos en un juego como otra capa. Esto le permite hacer frente con cada juego de forma más limpia. p.ej. Puede eliminar una capa específica en vez de encontrar a todos los enemigos y la eliminación de ellos.

Si ayuda, jugar con capas de Photoshop o un programa de edición de gráficos. Capas en el trabajo cocos2d de manera similar.

Para una escena sencilla, añadiendo el fondo de una capa o de una escena no hará mucha diferencia. Pero no pasa mucho tiempo antes de que los beneficios de las capas de patadas en.

Otros consejos

también capas de control de orden (por encima de cualquier z pedido inter-capa).

dibujo

En geoSpark, por ejemplo, I tienen una capa de fondo, una capa de chispa, una capa de interfaz de usuario, etc. (simplificado). Pero esto me permite hacer cosas que mi interfaz de usuario está siempre por encima de cualquier material de juego (la capa de chispa) y todo lo que está por encima del fondo.

Si su juego hace único aditivo prestación, dibujar orden no importa mucho. :)

- David

escena es una pizarra, la capa es una página de noticias ... se escribió en la página, pero, si lo desea, puede escribir en la pizarra. Si desea borrar todo nuevo.

En cocos2d podemos añadir cualquier nodo de cualquier nodo. Pero depende del nivel de jerarquía.

Puede añadir capas de escenas. Si quieres misma propiedad o buscar todas las capas que se agregan en un CCScene puede agregar los de CCScene (como en el segundo caso). pero si usted quiere tener características diferentes en cada capa añadir a los CCLayer.

CCLayer está destinado para agrupar un conjunto de nodos / sprites para algún propósito. Por ejemplo, puede añadir una capa que incluye opciones después de una pausa un juego, o capa de HUD para mostrar som tipo siempre en la pantalla junto con un poco de capa de desplazamiento (comparar en algunos juegos de plataformas de desplazamiento).

Por último, puede incluso CCNode en un CCScene, una capa en otra capa, e incluso un CCNode en un CCSprite. Pero el orden de dibujo en el contexto gráfico en cocos2d diferente.

Espero que tengas la diferencia.

Buena suerte!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top