From 473a23442d2f6b743dc6185e2133cc5c77330197 Mon Sep 17 00:00:00 2001 From: march3 Date: Fri, 14 Apr 2023 17:07:43 +0800 Subject: [PATCH] =?UTF-8?q?Python=E8=B6=85=E4=BA=BA-=E5=AE=87=E5=AE=99?= =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bodies/body.py | 2 +- sim_scenes/science/parabolic_curve.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/bodies/body.py b/bodies/body.py index 3376aeb..0467db2 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 7fe9563..3c5a9b6 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:显示天体轨迹 -- GitLab