我是 cocos2d 和 Objective C 的新手,迈出了第一步,遇到了我无法解决的问题。我有 2 个场景,第一次加载一些文件,加载后我想切换到主场景,但根本不能这样做。我已经制作了加载元素的进度条,我想在加载完成后进入下一个场景。但它不会取代场景而只是退出应用程序。这是 PreloaderScene 的部分代码:
+(id) scene
{
CCScene *scene = [CCScene node];
CCLayer* layer = [PreloaderScene node];
[scene addChild:layer];
return scene;
}
- (id) init
{
if ((self = [super init]))
{
int n=5;
CCLabelTTF *label = [CCLabelTTF labelWithString:@"Loading..." fontName:@"Marker Felt" fontSize:64];
CGSize size = [[CCDirector sharedDirector] winSize];
label.position = ccp( size.width /2 , size.height/2 );
[self addChild: label];
CCSprite *Bar = [CCSprite spriteWithFile:@"200x30.png"];
Bar.position = ccp(size.width /2 , size.height/2-70);
[self addChild:Bar];
CCSprite *Progress = [CCSprite spriteWithFile:@"2x30.png"];
Progress.position = ccp (size.width/2-100+1, size.height/2-70);
[self addChild:Progress];
ResourceManager *Resource = [[ResourceManager alloc] init];
for (int i=1;i<=n;i++)
{
NSString *imageName =[NSString stringWithFormat:@"image%d.png",i];
[Resource LoadImage:imageName];
[Progress runAction:[CCMoveTo actionWithDuration:1 position:ccp (size.width/2-100+i/n*100, size.height/2-70)]];
[Progress runAction:[CCScaleBy actionWithDuration:1 scaleX:i/n*100 scaleY:1]];
}
[[CCDirector sharedDirector] replaceScene:MainScene];
}
return self;
}