StopAllActions - это Cocos2D, а не Box2D.То, что я делаю для повторного использования тел, спрайтов, частиц и т. Д., Устанавливается видимым = НЕТ и body-> SetActive (false).
Это для деактивации объекта:
CCSprite *sprite = [projectiles objectAtIndex:i];
// Just to continue a loop if the sprite is not visible
if(sprite.visible == NO) continue;
sprite.visible = NO;
b2Body *body = projectileBodyTracker[i];
body->SetActive(false);
Это дляреактивировать объект:
CCSprite *sprite = [projectiles objectAtIndex:i];
sprite.position = moveToPosition;
b2Body *body = projectileBodyTracker[i];
body->SetTransform(moveToPositionVector, rotation);
body->SetActive(true);
Я написал дополнительный код на макушке, так что я не могу быть полностью уверен, что это правильно (синтаксически), но я так и делаю.