0

在 init 方法中,我初始化了一个包含 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];
}

然后,在更新方法中,如果 _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