我正在尝试从学习 Cocos2D 中学习 Cocos2D,Rod Strougo 和 Ray Wenderlich 的动手指南,但它使用的是 Cocos 1,而不是现在推出的 2。我想这本书稍后仍然适用,但在第一章中我遇到了一个问题,告诉导演运行一个场景,因为在 Cocos2D 2 中,整个过程现在似乎不同了。
我宁愿不必买另一本书,所以我希望改变运行场景的方式相当简单。
这就是这本书所说的:
找到 -applicationDidFinishLaunching 方法并注释掉:
[[CCDirector sharedDirector]runWithScene: [HelloWorld scene]];
并添加:
[[CCDirector sharedDirector]runWithScene:[GameScene node]];
我在 AppDelegate 中找不到任何类似的东西,但看起来这与新方法有关:
[director_ pushScene: [IntroLayer scene]];
到目前为止,我尝试将教程所说的内容适应新方式的尝试都失败了,但也许这是一个简单的解决方法。
以防它是过时的 GameScene:
GameScene.h
#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import "BackgroundLayer.h"
#import "GameplayLayer.h"
#import "CCScene.h"
@interface GameScene : CCScene
{
}
@end
游戏场景.m
@implementation GameScene
-(id)init
{
self = [super init];
if (self != nil)
{
BackgroundLayer *backgroundLayer = [BackgroundLayer node];
[self addChild:backgroundLayer z:0];
GameplayLayer *gameplayLayer = [GameplayLayer node];
[self addChild:gameplayLayer z:5];
}
return self;
}
@end