【发布时间】:2012-06-27 06:14:36
【问题描述】:
我正在使用 cocos2D 游戏引擎。几次重播后,游戏场景开始闪烁,精灵根本不动。但是精灵的位置会随着玩家离开而移动。每个函数都会被调用。但什么也没有出现。我已经通过仪器检查了内存消耗。内存消耗没问题。任何帮助表示赞赏。 提前致谢。
这是我结束游戏时使用的代码。
[[CCDirector sharedDirector].openGLView removeFromSuperview];
[[CCDirector sharedDirector] stopAnimation];
[[CCDirector sharedDirector] end];
这是我再次加载游戏场景时使用的代码。
if( ! [CCDirector setDirectorType:kCCDirectorTypeDisplayLink] )
[CCDirector setDirectorType:kCCDirectorTypeDefault];
CCDirector *director = [CCDirector sharedDirector];
viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
viewController.wantsFullScreenLayout = YES;
EAGLView *glView = [[EAGLView alloc] initWithFrame:[window bounds]];
[director setOpenGLView:glView];
if( ! [director enableRetinaDisplay:YES] )
CCLOG(@"Retina Display Not supported");
[director setDeviceOrientation:kCCDeviceOrientationLandscapeRight];
[viewController setView:glView];
[window addSubview: viewController.view];
[window makeKeyAndVisible];
[CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888];
[[CCDirector sharedDirector] runWithScene: [HelloWorldLayer node]];
【问题讨论】:
-
想做什么?说清楚。
-
我正在使用精灵并通过改变它们的位置来移动这些精灵。检测精灵的 pixelPerfect 碰撞。如果检测到碰撞,则结束游戏场景。然后在重播时,我再次开始新的游戏场景。这发生在我的游戏中。对于几次重播,游戏进行得很顺利。但是当我重玩游戏一段时间后,游戏画面开始闪烁。精灵似乎不动。但是游戏结束了,碰撞被检测到但什么都看不到。只是屏幕开始闪烁。这是我的问题。
-
奇怪的行为。请发布您的重启代码
-
@Morion - 我已经更新了这个问题。请看一看。
-
为什么不 [[CCDirector sharedDirector] replaceScene:[HelloWorldLayer node]]; ?
标签: iphone ios cocos2d-iphone