Cocos2d v2.0.0では、多くの変更が加えられ、多くの人々がスケーリングの問題やその他の競合を経験しています...
彼らがレイ・ヴェンダーリッヒの素晴らしい本を読んでテストした場合、これはさらに真実です:Learning Cocos2d:バイキングの男は大きく、背景は中央に配置されておらず、画像の接尾辞システムは機能していません...
では、どのように進めますか?
Cocos2d v2.0.0では、多くの変更が加えられ、多くの人々がスケーリングの問題やその他の競合を経験しています...
彼らがレイ・ヴェンダーリッヒの素晴らしい本を読んでテストした場合、これはさらに真実です:Learning Cocos2d:バイキングの男は大きく、背景は中央に配置されておらず、画像の接尾辞システムは機能していません...
では、どのように進めますか?
基本的に、新しいcocos2d v2プロジェクトを作成するとき、サンプルプロジェクトではすべてがすでに伝えられています。しかし、私たちの中には物事を指摘する必要がある人もいます。
AppDelegate.mの68〜71行目を確認してください。覚えておく必要があることは次のとおりです。
あなたはただ電話する必要があります
CCSprite *mySprite = [CCSprite spriteWithFile:@"mySprite.png"];
AppDelegate.mの76行目を確認してください
クラスからシーン関数を呼び出すだけです(pushSceneを使用)
[director_ pushScene: [MyScene scene]];
+(CCScene *) scene
{
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
BackgroundLayer *backgroundLayer = [BackgroundLayer node];
[scene addChild:backgroundLayer z:0];
GameplayLayer *gameplayLayer = [GameplayLayer node];
[scene addChild:gameplayLayer z:5];
return scene;
}
これは、cocos2dのv2からのスケーリングの問題が発生する場所です(しかし、理由はわかりません)。
-(id)initを呼び出す代わりに、
-(void) onEnter{ //Do some sprite displaying with [self addChild:mySprite]; }
スプライトを表示する前にロードする必要がある他のものについては、-(id)init関数を呼び出すことができます。
cocos2d v2でsneakyinputを使用する方法については、こちらをご覧ください:http: //cl.ly/1J2D2z0f3o0r3h041o3o
この行をレイヤーに追加します(+(CCScene *)シーン関数またはその他の場所で)
layer.isTouchEnabled = YES;
次に、これを同じ.mに追加します
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSArray *touchArray=[touches allObjects];
if ([touchArray count] == 2)
{
NSLog(@"2");
}
else if([touchArray count]==1)
{
NSLog(@"1");
}
}
最後に、AppDelegate.mに移動して、これを追加します。
[[CCDirector sharedDirector].view setMultipleTouchEnabled:YES];
cocos2d v2の開発者が、v1と比較してcocos2d v2を使用する方法について支援し、投稿していただければ幸いです。
cocos2d v2.0移行ガイド:
http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:migrate_to_v2.0