Нарисуйте спрайт в cocos2d поверх других - PullRequest
2 голосов
/ 30 августа 2011

Я играю в cocos2d и хотел знать, как я могу дать спрайту глубину слоя, что означает, как я могу держать спрайт поверх других?

1 Ответ

6 голосов
/ 30 августа 2011

Вы можете сделать что-то вроде этого:

Предполагая, что ваш класс является подклассом CCScene

-(id) init
{
    if( (self=[super init] )) {
        CCLayer *foreground = [CCLayer node];
        CCLayer *background = [CCLayer node];

        CCSprite *sprite1 = [CCSprite spriteWithFile:@"sprite1.png"];
        CCSprite *sprite2 = [CCSprite spriteWithFile:@"sprite2.png"];
        CCSprite *sprite3 = [CCSprite spriteWithFile:@"sprite3.png"];

        [sprite1 addChild:sprite2 z:-1];   //This z:-1 means that sprite 2 is behind sprite 1

        [foreground addChild:sprite1];
        [background addChild:sprite3];

        [self addChild:background z:0];   // z:0 is default, you don't need to add it.
        [self addChild:foreground z:1];   // z:1 is infront of z:0

    }
    return self;

}

Бит, который вам нужно узнать, как использовать, это параметр z: add child,Если вы добавляете дочерний элемент без параметра z, дочерний элемент помещается сверху.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...