0

init-method で、4 つの画像を保持する NSMutableArray を初期化します。このコードを使用して、スプライト (画像) をランダムに配置します。

_obstacles = [[NSMutableArray alloc] initWithCapacity:TOTAL_OBSTACLES_PER_WALL];
for (int i = 0; i < TOTAL_OBSTACLES_PER_WALL; i++)
{

        obstacle = [CCSprite spriteWithTexture:obstaclesTxt];

        int minX = obstacle.contentSize.width/2;
        int maxX = winSize.width-obstacle.contentSize.width/2;
        int xRange = maxX-minX;
        int minY = obstacle.contentSize.height/2;
        int maxY = winSize.height-obstacle.contentSize.height/2;
        int yRange = maxY - minY;
        randomXloc = (arc4random() % xRange) + minX;
        randomYloc = (arc4random() % yRange) + minY;

        obstacle.position = ccp(randomXloc, randomYloc);

        [_wall2 addChild:obstacle];
}

次に、update-method で、_wall2 が画面を左に移動した場合 (右から左に連続的にスクロールしている場合)、障害物を削除する必要があります。

if (_wall2.position.x+_wall2.boundingBox.size.width <- 0)
{
    _wall2.position = ccp(_wall.boundingBox.origin.x+_wall.boundingBox.size.width+1, 0);

    [obstacle removeFromParentAndCleanup:YES];
}

アプリを実行すると画像がランダムに配置されますが、_Wall2 が画面から離れるとアプリがクラッシュします。

私の質問は、このコードに問題があるかどうかです。

4

0 に答える 0