私は現在、cocos2dを使ってiPhone用のカードゲームを開発中です。私は現在、各タブがプレイヤーと彼/彼女のカードセットを表すタブビューを必要としています。現在、私はただ1人のプレーヤーを表す単一のビューを持っています。これは、cocos2dが本当にビルドされていないかのように、複数のビューを持っているように見え、コードをハッキングしなければならないことがあります。これを達成する最も効率的な方法は何でしょうか?マルチプレイヤー用cocos2dタブビュー
ここで明らかに間違っているものを見つけることができますか?私はPlayerControllerという新しいクラスを作成しました(アプリケーションデリゲートから) アプリケーションデリゲートがシーンメソッドを呼び出すと、2つの "手"オブジェクトが配列に挿入され、initWithPlayerHandsが呼び出されます(ここには存在しないはずですが、最初に働く)。私はまた、ハード、私は(異なるビューを持つ)この使用cocos2dに似た何かを行っている要素0
-(CCScene *) scene
{
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
// 'layer' is an autorelease object.
PlayerController *layer = [PlayerController node];
// add layer as a child to scene
[scene addChild: layer];
HelloWorldLayer *layer1 = [[HelloWorldLayer alloc] init];
HelloWorldLayer *layer2 = [[HelloWorldLayer alloc] init];
allLayers = [[NSMutableArray alloc] initWithCapacity:6];
[allLayers addObject:layer1];
[allLayers addObject:layer2];
[self initWithPlayerHands:allLayers];
// return the scene
return scene;
}
-(id)initWithPlayerHands:(NSMutableArray *)layers
{
NSMutableArray *allPlayers;
if ((self = [super init]))
{
currentScreen = 1;
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:-1 swallowsTouches:NO];
[self setIsTouchEnabled:YES];
scrollWidth = [[CCDirector sharedDirector] winSize].width;
scrollHeight = [[CCDirector sharedDirector] winSize].height;
startWidth = scrollWidth;
startHeight = scrollHeight;
allPlayers = [[NSMutableArray array] retain];
int count = [layers count];
int i = 0;
for (CCLayer *l in layers)
{
l.anchorPoint = ccp(0,0);
l.position = ccp((i*scrollWidth),0);
[self addChild:l ];
i=i+1;
count-=1;
}
totalScreens = i;
}
return self;
}
-(void) moveToPlayerHand:(int)hand //this represents the layer you want to move to
{
float dest = /*((currentScreen-1)*scrollHeight);*/ 0;
id changeHand = [CCEaseBounce actionWithAction:[CCMoveTo actionWithDuration:0.2 position:ccp(0,dest)]];
[self runAction:changeHand];
currentScreen = hand;
}
私はそれが本当にありがとう、いくつかのコードを投稿することができます場合は、私が探しているものになる可能性があります応答タムズ、ありがとう:) – godzilla
応答のためのTHanks、私はそれを試してみましたが表示されます私はそれが何であるかを確認することはできませんが、私は間違って何かをしているように。私はハードコーディングしているので、常に最初の "サブビュー"、つまり自分のゲームの最初の手が選ばれます。ここに私のコードのいくつかがあります。明白な間違いがあれば、本当に感謝するでしょう。 – godzilla
私はそれをクリアするために私のポストを編集しました。 – tams