Cocos2d iphone 我可以像sprite那样在box2d中缩放形状吗?

Cocos2d iphone 我可以像sprite那样在box2d中缩放形状吗?,cocos2d-iphone,box2d,scale,Cocos2d Iphone,Box2d,Scale,因为我们总是使用cocos2d中的函数,我可以随时缩放我的精灵。我可以在box2d中做同样的事情吗?例如,我创建了一个圆形的身体,然后我想把它变大 创建圆后,我尝试重新指定m_半径,但无效。如果只是将shape.m_半径指定给新值,则无效 您需要参考与为对象创建的b2Fixture关联的形状对象: fixture->GetShape()->m_radius = new_radius/PTM_RATIO; 希望这能有所帮助。如果您只是简单地将shape.m_半径指定给一个新值,它将不

因为我们总是使用cocos2d中的函数,我可以随时缩放我的精灵。我可以在box2d中做同样的事情吗?例如,我创建了一个圆形的身体,然后我想把它变大


创建圆后,我尝试重新指定m_半径,但无效。

如果只是将shape.m_半径指定给新值,则无效

您需要参考与为对象创建的b2Fixture关联的形状对象:

fixture->GetShape()->m_radius = new_radius/PTM_RATIO;

希望这能有所帮助。

如果您只是简单地将shape.m_半径指定给一个新值,它将不起作用

您需要参考与为对象创建的b2Fixture关联的形状对象:

fixture->GetShape()->m_radius = new_radius/PTM_RATIO;

希望这有帮助。

看看这个。。你会发现一个人可以通过改变半径来做到这一点…希望这能帮助你检查这一点。。你会发现一个人可以通过改变半径来实现这一点……希望这能帮助你获得与新尺寸相匹配的质量特征。你还需要重置身体的质量数据。一种更可靠且经得起未来考验的方法是销毁并重新创建夹具(尽管如果你有与之相关的游戏逻辑,这可能会造成麻烦)。谢谢,伙计,它可以工作。我发现了问题所在。如果我键入circle.m_radius=radius/PTM_RATIO,它只是指定了一个我永远不会使用的对象的变量。我必须从夹具中获取形状,然后按照您的建议重新指定。要获得与新尺寸匹配的质量特征,您还需要重置主体的MassData。一种更可靠且经得起未来考验的方法是销毁并重新创建夹具(尽管如果你有与之相关的游戏逻辑,这可能会造成麻烦)。谢谢,伙计,它可以工作。我发现了问题所在。如果我键入circle.m_radius=radius/PTM_RATIO,它只是分配了一个我永远不会使用的对象的变量。我必须从夹具中获取形状,然后按照您的建议重新分配它。