缩放ccsprite和ccphysicsbody

时间:2015-11-30 19:10:54

标签: cocos2d-iphone sprite cocos2d-x-3.0 ccsprite

按比例缩小的玩家(游戏进行后几秒钟)但其关联体位没有按比例缩小。

我使用SpriteBuilder创建了一个Player对象,其中包含以下详细信息:\

CCSprite with Physics enabled
- Dynamic Body
- Allows rotation and affected by gravity
- Density is 1.00
- Friction is 0.00
- Elasticity is 0.00
- Physics shape is Circle with corner radius 13.00

在这里,我的播放器很完美,它的物理机构完全适合它。

我希望玩家在游戏进行时按比例缩小,例如,玩家留下像小行星一样的小径,并最终从26像素变为10像素。

我正在使用__player.scale += 0.1来增加或减少播放器尺寸。但这只能缩放玩家形象的大小。它不会影响玩家的物理身体。

请建议我如何使用CCSprite重新定义PhysicsBody,以便适合播放器。

1 个答案:

答案 0 :(得分:1)

单独使用setScale()方法时,它不会缩小PhysicsBody。您应该使用setContentSize()方法来缩放精灵本身的PhysicsBody。

Sprite->setScale(Scale);
Sprite->setContentSize(ContentSize);

上面的代码将根据您定义的参数缩放Sprite图像及其PhysicsBody。