[英]LevelHelper : destroy and recreate physics body
Using LH with cocos2d and Box2d 将LH与cocos2d和Box2d一起使用
I have a ball (dynamic body) which goes out of the screen. 我有一个屏幕外的球(动态物体)。
I would like to destroy and recreate it, placing it back in its initial position. 我想销毁并重新创建它,将其放回初始位置。
Without LevelHelper, I would do it via destroyBody and createBody. 没有LevelHelper,我可以通过destroyBody和createBody来实现。
How do I do it with LevelHelper? 我该如何使用LevelHelper?
您只需在销毁之前复制ball的lhsprite对象,然后再创建球,只需将复制的lhsprite对象添加到图层即可。
Simpler answer would be 比较简单的答案是
LHSprite *sprite ;//(let us assume this is your sprite) CCPoint originalPos = sprite->getPosition(); LHSprite * sprite; //(让我们假设这是您的sprite)CCPoint originalPos = sprite-> getPosition();
if(sprite->position is out of screen){ sprite->getBody->setTransform(b2vec2(originalPos.x/PTM_RATIO, originalPos.y/PTM_RATIO),0); if(sprite-> position在屏幕外){sprite-> getBody-> setTransform(b2vec2(originalPos.x / PTM_RATIO,originalPos.y / PTM_RATIO),0); } }
Simple. 简单。 Hope this helps :) 希望这可以帮助 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.