私はiPhone用のゲームを作成しています。私はゲーム開発には新しく、私は画面の上部から下部に落ちるボールを持っています。プレーヤーはそれらを試して捕まえることになっています。問題は、新しいスプライトに「addnewBallSprite」メソッドを追加し、後でUpdateEveryFrameメソッドの位置に作用させることです。しかし、新しいボールが作成されたときに画面上にボールがまだ残っていれば、古いボールは動かなくなります。ボールのスプライトのすべてのインスタンスを制御する位置コマンドコントロールの変更を行う方法はありますか?詳しく説明してください。以下は私のaddNewBall方法である:新しいスプライトメソッドを追加したときのすべてのスプライトに作用するcocos2d xcode
-(void) addNewBall {
int RandomXPosition = (arc4random() % 240) + 40;
int RandomBallSprite = (arc4random() % 5);
NSString *BallFileString = @"OrangeBall.png";
switch (arc4random() % 5) {
case 1:
BallFileString = @"OrangeBall.png";
break;
case 2:
BallFileString = @"GreenBall.png";
break;
case 3:
BallFileString = @"YellowBall.png";
break;
case 4:
BallFileString = @"PinkBall.png";
break;
case 0:
BallFileString = @"BlueBall.png";
break;
}
Ball = [CCSprite spriteWithFile:BallFileString];
Ball.position = ccp(RandomXPosition, 520);
[self addChild:Ball z:1];
}
たぶん私は間違っapprochをとっている、私のUpdateFrame方法だけyの位置ベクトルをインクリメントします。 Ball.position = ccp(Ball.position.x、Ball.postion.y + 100 * dt); スプライトを移動するためにcocos2dアクションを使用する必要がありますか?あなたはポインタによって "ball.position"を意味しますか? –
ポインタはボールを意味します。あなたのアプローチは全く悪くありません。状況によって異なります。ボールの位置を変更しているときにボールを使用しています。だから、いくつかのボールの位置を変更したい場合は、ポインタも持っているはずです。 – Andrew
それで、私のAddNewBallメソッドはすべてのボール "Ball"を呼び出すので、それを見ています。それを変更する方法はありますか?あなたのすべての協力に感謝します。 –