gpt4 book ai didi

objective-c - 游戏暂停时停止动画然后在cocos2d中恢复

转载 作者:搜寻专家 更新时间:2023-10-30 20:06:00 26 4
gpt4 key购买 nike

根据我在互联网上所做的研究,我想出了这个暂停和恢复游戏的代码:

-(void)pauseGame:(UIApplication *)application{
[[CCDirector sharedDirector] pause];
//do other actions necessary}

-(void)resumeGame:(UIApplication *)application{
[[CCDirector sharedDirector] resume];
//do other actions}

这工作正常,但我的问题是如果游戏暂停、关闭然后重新打开。通常,如果您暂停游戏然后关闭它,当您打开它时,一切都应该仍然暂停。经过一些研究,我在 Appdelegate 中得到了这段代码:

-(void) applicationDidEnterBackground:(UIApplication*)application{
if( [navController_ visibleViewController] == director_ )
[director_ stopAnimation];

RandomScene *s = [RandomScene node];
if(s.layer.gameStatus == FALSE)
{
[[CCDirector sharedDirector]pause];
[[CCDirector sharedDirector]stopAnimation];
[s.layer stopAllActions];
}}

使用此代码,当我重新打开游戏时,计时器仍与所有触摸事件一起暂停。但是,我的动画仍在运行,所以我的 Sprite 在不应该移动的时候仍在移动。如何在游戏重新打开时完全停止动画?

最佳答案

为此我建议你手动控制你的 Sprite ..在主游戏场景中创建一个方法来暂停你的游戏。您可以在 sprite 对象上使用 pauseSchedulersAndActions 方法暂停 sprite 和动画。并在您的 GameScene 中的 resumeMethod 中恢复这些操作。

通过使用 CCDirector 获取 runningScene 的引用,从您的 AppDelegate 调用这些方法。

关于objective-c - 游戏暂停时停止动画然后在cocos2d中恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14931607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com