简体   繁体   English

LevelHelper:销毁并重建物理实体

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM