Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c cocos2D游戏在尝试删除子对象时崩溃_Objective C_Cocos2d Iphone - Fatal编程技术网

Objective c cocos2D游戏在尝试删除子对象时崩溃

Objective c cocos2D游戏在尝试删除子对象时崩溃,objective-c,cocos2d-iphone,Objective C,Cocos2d Iphone,在init方法中,我初始化了一个包含4个映像的NSMutableArray。我使用此代码来随机放置精灵(图像): \u障碍物=[[NSMutableArray alloc]initWithCapacity:每堵墙的障碍物总数]; 对于(int i=0;i

在init方法中,我初始化了一个包含4个映像的NSMutableArray。我使用此代码来随机放置精灵(图像):

\u障碍物=[[NSMutableArray alloc]initWithCapacity:每堵墙的障碍物总数];
对于(int i=0;i<每堵墙的总障碍物;i++)
{
障碍物=[CCSprite spriteWithTexture:obstaclesTxt];
int minX=barrier.contentSize.width/2;
int maxX=winSize.width-barrier.contentSize.width/2;
int xRange=maxX minX;
int minY=barrier.contentSize.height/2;
int maxY=winSize.height-barrier.contentSize.height/2;
int-yRange=maxY-minY;
randomXloc=(arc4random()%xRange)+minX;
randomYloc=(arc4random()%yRange)+minY;
障碍物位置=ccp(随机xloc,随机yloc);
[u wall2 addChild:障碍];
}
然后,在更新方法中,如果_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];
}

if(_wall2.position.x+_wall2.boundingBox.size.width)不使用圆弧?您应该保留(并在以后释放)障碍物。障碍物用于什么(您没有修改其内容)?在输入底部代码段的“if”之前,“障碍物”设置为什么?设置为什么意思你在哪里设置?比如障碍=???…可能会显示更多的代码。啊,我在
障碍中设置了它。障碍
数组也显示在上面的代码中。你的
障碍
在“更新方法”中是什么?局部变量,ivar,等等?
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];
}