0

ユーザーがボタンをタップすると、スプライトを次に近いボール (スプライト) に移動して、場所から場所へ移動できるようにします。

一度に画面に表示されるボールの数は限られているため、それらを配列に格納する必要があると考えていました。その後、それらが画面外に移動すると (私が配置した関数によって破棄されます)、それらはから削除されます。配列。

私は現在のセットアップを持っています(ループATMではありません):

ball = [[CCSprite spriteWithFile:@"ball.png"] retain];
ball.position = ccp(randX, randY);

NSMutableArray *myArray = [[NSMutableArray alloc] init];  
[myArray addObject: ball];
[myArray addObject: ball];
[myArray addObject: ball];

for (int i = 0; i < 2; i++) {
    CCSprite *sprite = [myArray objectAtIndex:i];
    NSLog(@"%@", sprite.position.x);
}

NSLog が "(null)" をコンソールに出力するのはなぜですか?

4

2 に答える 2

0

X位置が最も低いスプライトを実際に見つけたいようです。

CCSprite *sprite = [myArray objectAtIndex:0];

for (CCSrpite *s in myArray)
{
    if (s.position.x < sprite.position.x)
        sprite = s;
}

// now 'sprite' will contain the sprite with the lowest X position
于 2012-08-07T03:43:52.093 に答える
0

ははは!@"%@" を @"%f" に変更する単純なケースです。笑!

于 2012-08-07T03:25:48.943 に答える