0

在继续之前是否要等到 CCSprite 实际呈现到屏幕上?或者可能是一个带有回调的方法来检查精灵何时完成渲染到屏幕?

我不能使用动作序列,因为在执行此任务时所有动作都被暂停。


我解释的不是很清楚。我会尝试更好一点。我将图像添加到图层,然后调用方法。但是在图像加载并呈现到屏幕之前,该方法已经被调用并完成。

CCSprite* aSprite = [CCSprite spriteWithFile:@"anImage.png"];  
[aLayer addChild:aSprite z:1];

//need application to hold here till image is rendered;

[self aMethod];
4

1 回答 1

0

尝试 :

-(void) draw {
    [super draw];
    [self doWhateverButDoItQuick];
}

对于该类的每个实例,这将在特定绘制感兴趣的精灵之后调用。无论您在那里做什么,如果花费太多时间,最终都会降低您的 FPS。假设您当前以 60 FPS 运行,并且您的完整周期需要 12 毫秒,那么您有大约 4 毫秒的时间来完成该任务而不影响 FPS。如果您过火,您的 FPS 将立即降至 30。

于 2013-04-02T19:56:16.557 回答