地图下的精灵

时间:2011-04-28 12:10:06

标签: cocos2d-iphone

你好我有一些精灵和一些地图

- (id)init {

if( (self=[super init] )) {

    self.tiledMap = [CCTMXTiledMap tiledMapWithTMXFile:@"map3.tmx"];
    self.background = [_map layerNamed:@"Background"];
    [self.tiledMap runAction:[CCMoveBy actionWithDuration:10.0 position:ccp(0,-2750)]];


    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"AnimBear.plist"];
    CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"AnimBear.png"];
    [self addChild:spriteSheet];
    NSMutableArray *walkAnimFrames = [NSMutableArray array];
    for (int i = 1; i <= 8 ; ++i) {
        [walkAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"bear%d.png", i]]];
    }
    CCAnimation *walkAnim = [CCAnimation animationWithFrames:walkAnimFrames delay:0.1f];

    CGSize winSize = [CCDirector sharedDirector].winSize;
    self.bug = [CCSprite spriteWithSpriteFrameName:@"bear1.png"];
    _bug.position = ccp(winSize.width/2, winSize.height/2);
    self.walkAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:walkAnim restoreOriginalFrame:NO]];




    [_bug runAction:_walkAction];
    [spriteSheet addChild:_bug];
    [self addChild:_map];
}
return self;

}

我的精灵在地图下,但我需要在地图上绘制精灵。我该怎么做? tnaks

1 个答案:

答案 0 :(得分:2)

问题在于缺少z值,它告诉了东西的顺序,

[spriteSheet addChild:_bug z:2];
[self addChild:_map z:1];

图层使用zOrder组织使用zOrder前面或后面的对象,其值最低,远离屏幕的东西。