我的游戏遇到了一些麻烦(使用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]];
}
}
答案 0 :(得分:0)
您可以添加某种“点按屏幕以开始播放”图层,这样可以安排定时器并使图层消失。