按比例缩小的玩家(游戏进行后几秒钟)但其关联体位没有按比例缩小。
我使用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,以便适合播放器。
答案 0 :(得分:1)
单独使用setScale()
方法时,它不会缩小PhysicsBody。您应该使用setContentSize()
方法来缩放精灵本身的PhysicsBody。
Sprite->setScale(Scale);
Sprite->setContentSize(ContentSize);
上面的代码将根据您定义的参数缩放Sprite图像及其PhysicsBody。