gpt4 book ai didi

iphone - 几次重播后游戏场景开始闪烁

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:20 26 4
gpt4 key购买 nike

我正在使用 cocos2D 游戏引擎。在几次重播之后,游戏场景开始闪烁, Sprite 根本不动。但是 Sprite 的位置会随着玩家的离开而移动。每个函数都会被调用。但是什么也没有出现。我已经通过仪器检查了内存消耗。内存消耗没问题。任何帮助表示赞赏。提前致谢。

这是我结束游戏时使用的代码。

[[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]];

最佳答案

我一直在重复我自己的建议,所以我把它放在引号里:

If you're using cocos2d in a Cocoa touch app, do not remove and recreate the OpenGL view all the time. Create it once, and keep it around. Also don't shut down cocos2d entirely. Only call stopAnimation and startAnimation. If you're very low on memory, replace the current cocos2d scene with an empty scene before stopping cocos2d and going back to the Cocoa touch part of your app.

不遵循此建议的开发人员会不断遇到各种问题。可能是因为 cocos2d 在各种条件下没有经过反复关机和重启循环的良好测试。

关于iphone - 几次重播后游戏场景开始闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220417/

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