【发布时间】:2010-05-04 21:18:10
【问题描述】:
我的游戏有些问题(使用 Cocos2D)。我有一个介绍,然后它会进入游戏。这里的问题是,在模拟器上,它总是在将场景介绍切换到 GamePlay 时实时显示。但是在实际的手机中,我知道它会更慢并且需要更多时间来切换。但在玩家看到 GamePlay 场景之前,游戏的计时器开始计时,(玩家有 30 秒的时间玩游戏),然后在屏幕出现之前音乐也已经开始播放。然后当它进入 GamePlay 屏幕时,计时器仍然是 30 秒,但实际上已经过了几秒。这就是为什么当玩家看到计时器显示 4 秒(有时是 3 或 6 秒)时,它已经显示他输了。在他看到屏幕之前,他不会知道计时器实际开始了。
我不知道人们是如何解决这个问题的。谁能帮帮我。非常感谢。
PS:我想我可以在加载页面的同时像其他游戏一样加载,但不好的是我不知道该怎么做。我只是有个想法。
这是我的计时器代码,这些在 init 中
[self schedule:@selector(endGame:) interval:1.0f]; [self schedule: @selector(timeCounter:) interval:1.0f];
-(void) timeCounter:(int) dt
{
timer -=1;
LabelAtlas *label2 = (LabelAtlas*) [self getChildByTag:kTagSprite2];
[label2 setString: [NSString stringWithFormat:@"%d", timer]];
}
//This determines when the game ends
-(void) endGame:(ccTime)dt
{
milliSeconds++;
int i = 30;
if (milliSeconds == i)
{
[currentSound stop];
LostScene *loser = [LostScene node];
[[Director sharedDirector] replaceScene:[FadeTransition transitionWithDuration:0.1 scene:loser]];
}
}
【问题讨论】:
标签: objective-c cocos2d-iphone