使用cocos2d和SpriteBuilder进行错误渲染CCSprite

时间:2015-07-04 23:40:43

标签: ios ccsprite spritebuilder

当我将CCSprite添加到与main不同的线程中的CCPhysicalNode时,此CCSprite呈现黑色方块,如图中所示。

这很奇怪,因为像Enemy或Hero这样的其他CCSprite渲染得很好,如图中所示(敌人是绿色,英雄是红色)

// in the method didLoadFromCCB Main Scene 
-(void)didLoadFromCCB
{
    dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
                   ,^(void){
         [self buildGround];
    });
}

// implements method buildGround 
-(void)buildGround
{
    while (i < WORLD_SIZE)
    {
        Ground *ground = (Ground*)[CCBReader load:[NSString stringWithFormat:@"nameGround%d",i]];
        ground.physicsBody.collisionType = @"ground";
        ground.position = ccp(lastPosition, 0);
        [_ground addChild:ground];

        Enemy *enemy = (Enemy*)[CCBReader load:@"Enemy"];
        enemy.position = ccp(positionX , positionY);
        enemy.physicsBody.collisionType = @"enemy";
        [_ground addChild:enemy];
        i++;
    }
    dispatch_async(dispatch_get_main_queue(), ^{
        [_physicsNode addChild:_ground];
    });
}

enter image description here

1 个答案:

答案 0 :(得分:0)

我解决了我的问题,错误是因为目录不是SpriteBuilder中的“Smart Sprite Sheet”。

解决方案是:

  1. 在SpriteBuilder中,单击右侧保存图像的目录 精灵
  2. 点击子菜单“制作智能精灵表”
  3. 保存,发布并且全部
  4. enter image description here