在pybox2d manual中,它指出以下内容:
pybox2d使用弧度表示角度。身体旋转存储在
弧度,并且可能会无限增长。考虑规范化您的角度
如果角度的大小变得太大(使用
b2Body.SetAngle)。
但是,当我尝试实现“标准化”角度时,会出现以下错误:
AttributeError: 'b2Body' object has no attribute 'SetAngle'
程式码片段:
def update_outputs(self):
# This is necessary to prevent the angle
# from getting too large or small
self.body.SetAngle(self.body.angle % 2*pi)
最佳答案
自从编写这些文档以来,该库似乎已被python化。角度是身体的属性:
@angle.setter
def angle(self, angle):
self._xf.angle=angle
self._transform_updated()
您应该可以像下面这样简单地设置它:
def update_outputs(self):
# This is necessary to prevent the angle
# from getting too large or small
self.body.angle %= 2*pi
关于python - 如何在pybox2d中将主体的角度保持在-pi和pi之间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41419503/