diff --git a/bodies/body.py b/bodies/body.py index 3376aebf8ec0f24bef57d41b2661f3e1e31e70db..0467db283f9431e21434d29d11bc2650c815e3d9 100644 --- a/bodies/body.py +++ b/bodies/body.py @@ -231,7 +231,7 @@ class Body(metaclass=ABCMeta): 停止运动,将加速度和速度置零 @return: """ - self.init_velocity = [0.0, 0.0, 0.0] + self.velocity = [0.0, 0.0, 0.0] self.acceleration = [0.0, 0.0, 0.0] def stop_and_ignore_gravity(self): diff --git a/sim_scenes/science/parabolic_curve.py b/sim_scenes/science/parabolic_curve.py index 7fe9563afd929ae878a4d77d01b6290799b005b7..3c5a9b61bcfb3ee0e72ab861ccd06c45289d40c4 100644 --- a/sim_scenes/science/parabolic_curve.py +++ b/sim_scenes/science/parabolic_curve.py @@ -64,9 +64,13 @@ if __name__ == '__main__': # 如果抛出物与地球相碰撞了,则静止不动(抛出物停止并忽略引力) obj.stop_and_ignore_gravity() + def on_reset(): + for obj in [obj0, obj1, obj2, obj3]: + obj.ignore_mass = False # 订阅计时器事件(定时触发) UrsinaEvent.on_timer_changed_subscription(on_timer_changed) + UrsinaEvent.on_reset_subscription(on_reset) # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹