python的turtle中,如何使几个画笔同时运动?还是说这个不能实现?

python 3.9

比如一个A追逐B的turtle画面

要怎么让A和B同时移动

这个要用多线程,每个线程控制一个画笔。

很遗憾,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会用吗?