【问题标题】:cocos2d: animation stopped. Integrate Cocos2D and UIKitcocos2d:动画停止。整合 Cocos2D 和 UIKit
【发布时间】:2012-09-26 16:55:44
【问题描述】:

我已经集成了 Cocos2D 和 UIKit。 我有视图之间的导航,第一次打开 cocos 视图时,它可以工作。 但是当我返回主菜单时,日志控制台会显示:

cocos2d: animation stopped

之后,如果我再次尝试进入 cocos2D 视图,动画不会开始。

我能做些什么来解决这个问题?

我按照本教程进行操作,但没有帮助 http://www.raywenderlich.com/4817/how-to-integrate-cocos2d-and-uikit

【问题讨论】:

  • 你在返回cocos2d视图时是否调用了director上的startAnimation?如果没有,请这样做。
  • @LearnCocos2D 非常感谢!我没有

标签: iphone ios xcode ipad cocos2d-iphone


【解决方案1】:

在这方面存在问题。有一个similar discussion in another SO Question.

每当我想包含 UIKit 元素时,我倾向于反其道而行之。

CCUIViewWrapper 代码位于:https://github.com/splhack/CCUIViewWrapper

【讨论】:

    【解决方案2】:

    这可能会根据您使用的 cocos2d 的版本而有所不同,但是应该在 CCDirectorIOS.m:viewDidDisappear 上调用 stopAnimation 并且应该在 viewWillAppear 上调用 startAnimation。所以我会在那里设置断点以确保它被调用。如果您的 -(void) mainLoop:(id)sender 正在运行。

    -(void) viewWillAppear:(BOOL)animated
    {
      [super viewWillAppear:animated];
      [self startAnimation];
    }
    
    -(void) viewDidDisappear:(BOOL)animated
    {
      [self stopAnimation];
    
      [super viewDidDisappear:animated];
    }
    

    如果您想进一步调查 mainLoop 调用 drawScene 并且不是 isPaused,则 CCScheduler 将更新运行所有动画的 CCActionManager。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-12
      • 2017-05-16
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多