python 3.9
比如一个A追逐B的turtle画面
要怎么让A和B同时移动
python 3.9
比如一个A追逐B的turtle画面
要怎么让A和B同时移动
收起
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
这个要用多线程,每个线程控制一个画笔。
很遗憾,turtle模块不支持线程,所以难以实现多只画笔同时绘画。事实上,即使turtle模块支持线程,也只能实现宏观上的“同时”,微观上仍然是单只画笔轮换绘图。如果对“同时”要求不高的话,turtle模块也能凑合实现题主的要求。下面是一个非常简单的例子,两只画笔画圆,一只红色,一直绿色。
>>> import numpy as np
>>> import turtle as t
>>> def circle(r=100, speed=10):
theta_1 = np.linspace(0, 2*np.pi, 361)
theta_2 = np.linspace(-np.pi, np.pi, 361)
xs1, ys1 = r*np.cos(theta_1), r*np.sin(theta_1)
xs2, ys2 = r*np.cos(theta_2), r*np.sin(theta_2)
t.hideturtle()
t.speed(speed)
t.pensize(3)
while True:
for i in range(360):
t.pencolor('red')
t.penup()
t.goto(xs1[i],ys1[i])
t.pendown()
t.goto(xs1[i+1],ys1[i+1])
t.pencolor('green')
t.penup()
t.goto(xs2[i],ys2[i])
t.pendown()
t.goto(xs2[i+1],ys2[i+1])
>>> circle()
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
你不一定要使用多线程,可以使用turtle.tracer方法进行延迟更新,设置每几次更新一次屏幕
tracer和update会用吗?
报告相同问题?