ロッド・ストロウゴとレイ・ヴェンダーリッヒによるハンズオンガイドであるLearning Cocos2DからCocos2Dを学ぼうとしていますが、現在リリースされている2ではなくCocos1を使用しています。この本は後でまだ関連していると思いますが、最初の章では、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
GameScene.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