2015-07-04 4 views
0

Когда я добавляю CCSprite в CCPhysicalNode в другом потоке, кроме основного, этот CCSprite визуализируется на черном квадрате, как показано на изображении.Плохой рендеринг CCSprite с cocos2d и SpriteBuilder

Это странно, потому что другой CCSprite как врага или героя являются визуализации хорошо, как видите на картинке (Enemy цвет Зеленый и Герой красный цвет)

// 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

ответ

0

Решаю мой проблема была вызвана тем, что каталог не является «Smart Sprite Sheet» в SpriteBuilder.

Решение было:

  1. В SpriteBuilder клика по директории, где сохранять изображения для спрайта
  2. Нажмите в подменю "Make Смарт Sprite Sheet"
  3. Сохранить, публиковать и то все

enter image description here

Смежные вопросы