Tom*_*ton 5 iphone cocos2d-iphone ios
我正在开发一个应用程序,我想在应用程序的主屏幕中使用cocos2d,但不能在其他地方使用(在其他地方,标准UIKit的东西更合适).所以,我已经将我的EAGLView设置为UINavigationController中的根视图,当用户点击正确的位置时,我将新的视图控制器推送到导航控制器上.
到目前为止,这工作得很好.家庭视图中的cocos2d/chipmunk工作效果很好,推动新的视图控制器按预期工作.
但是当我回到主视图时,没有任何东西存在.我只看到窗口背景和导航栏.
我在根视图控制器的-viewDidAppear中设置了一个断点:看看弹出后发生了什么,到目前为止一切正常(或至少与推送前相同).
推动只是沼泽标准的导航控制器推动.我没有看到任何类型的记忆警告.有人想知道发生了什么事吗?
有一个简单的演示项目,在http://cl.ly/1Q050s0h2k47032K1Y1N上显示了这种行为
这是基于cocos2d + chipmunk项目模板.点击Grossini,新的视图控制器被推入堆栈.点击后退按钮,Grossini消失了.
只是为了让它变得有趣,这个问题只存在于iOS设备上(我正在运行4.1),而不是在模拟器中.
我已经解决了你的问题.您必须按照代码中的一些步骤操作.
在RootViewController nib文件中,将视图Identity从HomeView更改为UIView.
在RootViewController类中创建一个Home View对象
@interface RootViewController : UIViewController {
HomeView *homeViewObj;
}
Run Code Online (Sandbox Code Playgroud)
在ViewDidLoad方法的RootViewController.m文件中添加此代码
homeViewObj = [[HomeView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[self.view addSubview:homeViewObj];
Run Code Online (Sandbox Code Playgroud)
并在ViewDidLoad方法中的所需位置替换此代码.
CCDirector *director = [CCDirector sharedDirector];
// attach the openglView to the director
[director setOpenGLView:(EAGLView *)homeViewObj];
[director setDeviceOrientation:kCCDeviceOrientationPortrait];
[director setAnimationInterval:1.0/60];
[director setDisplayFPS:YES];
Run Code Online (Sandbox Code Playgroud)
然后问题就会解决,一切顺利.
问候,
萨蒂亚
| 归档时间: |
|
| 查看次数: |
1885 次 |
| 最近记录: |