当我将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];
});
}
答案 0 :(得分:0)
我解决了我的问题,错误是因为目录不是SpriteBuilder中的“Smart Sprite Sheet”。
解决方案是: