iphy2d模块——旋转关节类 More...
Public Member Functions | |
def | __init__ |
def | destroy |
销毁. |
iphy2d模块——旋转关节类
def __init__ | ( | self, | |
body_a, | |||
body_b, | |||
collide = False , |
|||
anchor_a = math3d.vector2(0.0, 0.0 , |
|||
anchor_b = math3d.vector2(0.0, 0.0 , |
|||
enable_limit = False , |
|||
ref_angle = 0 , |
|||
lower_angle = 0 , |
|||
upper_angle = 0 , |
|||
enable_motor = False , |
|||
motor_speed = 0 , |
|||
max_torque = 0 |
|||
) |
创建旋转关节,例如风车,齿轮 必须保持引用,所属场景删除后就会无效 关节两端的任一body删除,也会无效 参数: body_a 类型 iphy2d.body,关节要连接的对象1 body_b 类型 iphy2d.body,关节要连接的对象2 collide bool 2个对象是否相互碰撞 anchor_a math3d.vector2 锚点A,即对象1以某一点作旋转运动。默认原点在对象1中心,相对对象1的坐标系 anchor_b math3d.vector2 锚点B,即对象2以某一点作旋转运动。默认原点在对象2中心,相对对象2的坐标系 enable_limit bool 是否限制旋转角度。关节限制会强制保持关节角度在一个范围内,为此它会应用足够的扭矩。范围内应该包括 0,否则在开始模拟时关节会倾斜。 ref_angle float 初始旋转关节角,弧度,用于限制物体转动方位,关节角以body_b为基准的。 lower_angle float 限制最小的关节角弧度,一般为负值,表示限制顺时针旋转的最大角度 upper_angle float 限制最大的关节角弧度,一般为正值,表示限制逆时针旋转的最大角度 enable_motor bool 马达开关,为True时必须再设置motor_speed和max_torque才有效。 motor_speed float 关节的转速,每帧旋转的弧度。需要注意马达是作用在body_a上 max_torque float 旋转时的最大力矩大小,单位牛*米。马达会按照转速计算出一个所需力矩,如果超过max_torque,则按max_torque计算。
def destroy | ( | self ) |
销毁.
此函数不会即时生效,将会在下一次update时把对象真正清除