我对obj-c比较新,所以我必须遗漏一些东西,但是当敌人与墙碰撞时我的程序会崩溃.我已经找到了我从循环中移除敌人的地方,而在循环中,但对于我的生活,我无法弄清楚如何解决它.我的代码如下:
(错误是"[allEnemies removeObject:enemyType1];")
//始终运行 - (无效)更新:(ccTime)dt {
for (CCSprite *enemyType1 in allEnemies) { //for every attacking unit in allEnemies
//Adjust the collison box for each enemey depending on the height of the enemy
float a;
float b;
float yOne = (wall.contentSize.height-enemyType1.position.y);
float yTwo = (wall.contentSize.height);
float xTwo = 30;
a = (xTwo*(yOne/yTwo)); // always < 1
b = xTwo-a; // always > 1
//Create the altered collison box
CGRect enemyType1Rect = CGRectMake (
enemyType1.position.x - (enemyType1.contentSize.width/2),
enemyType1.position.y - (enemyType1.contentSize.height/2),
enemyType1.contentSize.width+b, …Run Code Online (Sandbox Code Playgroud)