【发布时间】:2010-07-31 04:45:46
【问题描述】:
我正在用 cocos2d 编写游戏。我在 AppDelegate 类中使用函数 restartDirector 。 -(void)restartDirector{
[[CCDirector sharedDirector] end];
[[CCDirector sharedDirector] release];
if( ! [CCDirector setDirectorType:CCDirectorTypeDisplayLink] )
[CCDirector setDirectorType:CCDirectorTypeDefault];
[[CCDirector sharedDirector] setPixelFormat:kPixelFormatRGBA8888];
[CCTexture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA8888];
[[CCDirector sharedDirector] setAnimationInterval:1.0/60];
[[CCDirector sharedDirector] setDisplayFPS:YES];
[[CCDirector sharedDirector] setDeviceOrientation:CCDeviceOrientationLandscapeLeft];
[[CCDirector sharedDirector] attachInView:window];
}
我在其中一个游戏场景中调用了这个函数。
-(void)PracticeMethod:(id)sender
{
[MY_DELEGATE restartDirector];
CCScene *endPageScene = [CCScene node];
CCLayer *endPageLayer = [DummyScene node];
[endPageScene addChild:endPageLayer];
[[CCDirector sharedDirector] runWithScene:endPageScene];
// [[CCDirector sharedDirector] replaceScene:endPageScene];
}
在使用replaceScene时,游戏没有问题,但是abject分配的内存很高(我检查了泄漏工具)。 所以我使用了runWithScene。 但是,当场景 DummyScene 加载精灵时使用这些,其中的标签由白框显示。我看不到精灵和标签。 如果我使用 replaceScene 一切正常,但内存分配很高。 这是我的问题。
alt text http://www.freeimagehosting.net/uploads/05c6b3e661.png
谢谢。
【问题讨论】:
标签: cocoa-touch cocos2d-iphone