0

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

cocos2d: animation stopped

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

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

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

4

2 回答 2

0

这方面一直存在问题。在另一个 SO Question 中有类似的讨论。

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

使用 CCUIViewWrapper 代码:https ://github.com/splhack/CCUIViewWrapper

于 2012-09-26T17:03:17.343 回答
0

这可能会根据您使用的 cocos2d 的版本而有所不同,但stopAnimation应该被调用CCDirectorIOS.m:viewDidDisappear并且startAnimation应该被调用viewWillAppear。所以我会在那里设置断点以确保它被调用。如果你-(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。

希望这可以帮助。

于 2015-08-05T17:20:50.687 回答