有没有办法将 python 海龟绘图导出到视频中?视频应包含实时绘图过程。
特别是,我对屏幕录制解决方法不感兴趣,而是对可在云环境等无头系统中工作的解决方案感兴趣。
这是乌龟绘图的示例
import turtle
tr = turtle.Turtle()
rad = 80
tr.circle(rad)
turtle.done()
Run Code Online (Sandbox Code Playgroud) 我试图获取海龟屏幕中鼠标单击的坐标,但我的代码无法正常工作。我猜这与时间有关,但我尝试添加 5 秒的延迟,但没有帮助。
这是我的代码:
def get_mouse_click_coor(x,y):
print [x,y]
turtle.onscreenclick(get_mouse_click_coor)
Run Code Online (Sandbox Code Playgroud)
请帮我理解代码有什么问题,谢谢:)
我想用python的海龟制作图表(教学目的)。y 轴的标签“值”应该旋转。
Python的turtle有一个在当前位置写入字符串的方法:
from turtle import *
left(90) # does not help
write("values", font=('Arial', 12, 'normal'))
hideturtle()
mainloop()
Run Code Online (Sandbox Code Playgroud)
“价值观”仍然是横向的。
如何用python的turtle旋转文本?
如何在python中找到乌龟的坐标?
例如,如果海龟位于(200, 300),我将如何检索该位置?
当我使用海龟模块用这个简单的函数画一个圆时:
def draw_shape(self):
canvas = Screen()
t = Turtle()
t.circle(self.r)
canvas.exitonclick()
Run Code Online (Sandbox Code Playgroud)
当我第一次调用此函数时,它会打开一个新窗口并绘制一个圆圈,我单击它退出,当我尝试再次从控制台中的菜单调用此函数时,我收到错误:
Original exception was:
Traceback (most recent call last):
File "main.py", line 136, in <module>
main()
File "main.py", line 132, in main
OPTIONS[user_input][1](shapes)
File "main.py", line 48, in handle_sixth_menu_option
t = Turtle()
File "/usr/lib/python3.6/turtle.py", line 3816, in __init__
visible=visible)
File "/usr/lib/python3.6/turtle.py", line 2557, in __init__
self._update()
File "/usr/lib/python3.6/turtle.py", line 2660, in _update
self._update_data()
File "/usr/lib/python3.6/turtle.py", line 2646, in _update_data
self.screen._incrementudc()
File "/usr/lib/python3.6/turtle.py", line 1292, in _incrementudc
raise Terminator
turtle.Terminator
Run Code Online (Sandbox Code Playgroud) 我正在查看海龟图形的Python文档,它有一个绘制海龟星的示例。程序如下:
from turtle import *
color('red', 'yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()
Run Code Online (Sandbox Code Playgroud)
我不明白为什么有效abs(pos())?该abs()函数采用单个参数,但pos()函数返回位置 (x,y) 坐标。我知道该程序有效,只是不明白为什么。我在Python解释器上尝试了它abs((-0.00,0.00)),它返回错误。请帮忙!
代码:
import turtle
import random
import time
s = turtle.getscreen()
turtle.screensize(canvwidth=400, canvheight=400)
t = turtle.Turtle()
t.pensize(0)
t.shape('square')
t.color("black")
t.speed(0)
t.penup()
def moveu(num):
t.setheading(num)
t.forward(20)
s.onkey(lambda : moveu(90), 'w')
s.onkey(lambda : moveu(270), 's')
s.onkey(lambda : moveu(180), 'a')
s.onkey(lambda : moveu(0), 'd')
s.listen()
Run Code Online (Sandbox Code Playgroud)
我还没有完成这个项目,但我遇到了一些问题。我想在turtle模块中创建一个游戏。但我不知道如何防止块向后移动。我见过其他人用过t.direction什么的。但我已经尝试过了,但它并没有真正奏效,也许我只是愚蠢而我做错了什么。如何防止正方形向相反方向移动?
我一直在试图弄清楚如何将 Python 海龟图形输出为图像。我已经检查了多个线程,但仍然无法完全弄清楚(我尝试制作一个 postscript 文件并转换它,但没有运气,也尝试将乌龟放在 tkinter 画布上,然后保存,但没有运气)。我已经安装了枕头但仍然无法转换输出。下面我添加了一个基本的海龟图形,如果有人可以展示如何对其进行编码以制作图像文件(JPG 或 PNG),我将不胜感激并解释他们所做的事情。我正在使用 Python 3.7.1 和 Windows。
import turtle
polygon = turtle.Turtle()
num_sides = 6
side_length = 70
angle = 360.0 / num_sides
for i in range(num_sides):
polygon.forward(side_length)
polygon.right(angle)
turtle.done()
Run Code Online (Sandbox Code Playgroud) 我按照本教程制作了一个乒乓球游戏https://youtu.be/C6jJg9Zan7w 我遇到的问题是球(乌龟对象)的速度在不同的计算机上不一样。例如,在教程讲师的计算机上,ball.dx ball.dy的值为2,球速正常,但在我的计算机上速度非常快,所以我必须将其设置为 0.1。我认为这个问题是因为不同的计算机可以输出或多或少的帧。我知道流行的游戏引擎(例如unity-unreal)中有一种方法使用时间而不是帧,因此变量在不同的计算机中是全局的。我遇到的另一个问题是,当我移动球拍时,球的速度会略有变化。不知道这个问题和上面是不是同一个问题
import turtle
import winsound
wn = turtle.Screen()
wn.title('Pong')
wn.bgcolor('black')
wn.setup(width=800, height=600)
wn.tracer(0)
# Paddle A
paddle_a = turtle.Turtle()
paddle_a.speed(0)
paddle_a.shape('square')
paddle_a.color('white')
paddle_a.penup()
paddle_a.goto(-350, 0)
paddle_a.shapesize(5, 1)
# Paddle B
paddle_b = turtle.Turtle()
paddle_b.speed(0)
paddle_b.shape('square')
paddle_b.color('white')
paddle_b.penup()
paddle_b.goto(350, 0)
paddle_b.shapesize(5, 1)
# Ball
ball = turtle.Turtle()
ball.speed(0)
ball.shape('square')
ball.color('white')
ball.penup()
ball.dx = 0.15
ball.dy = 0.15
# Pen
pen = turtle.Turtle()
pen.speed(0)
pen.color('white')
pen.penup()
pen.goto(0, 260)
pen.write("Player A: 0 Player B: 0", align='center', font=('Courier', …Run Code Online (Sandbox Code Playgroud) 每当我尝试运行我的程序时,它都会绘制两只乌龟,然后窗口停止响应。
我所期待的是,直到其中一个棋子接触到另一棋子(基于我将其拖动到另一棋子附近)为止,我将能够自行拖动它们。但发生的情况是,每当我运行程序时,在绘制两只海龟后,窗口就会停止响应。我没有收到任何错误,它只是在冻结后关闭,直到我单击关闭按钮。我看过其他人的帖子,他们有这个问题,但他们最后没有 screen.mainloop() 而我有。
import turtle
captured_pieces = []
blue = turtle.Turtle()
black = turtle.Turtle()
screen = turtle.Screen()
blue.penup()
black.penup()
blue.shape('square')
black.shape('triangle')
blue.setpos(100,100)
black.setpos(-100,-100)
blue.color('blue')
black.color('black')
def bmove():
black.ondrag(black.goto)
if black.distance(blue) < 30:
captured_pieces.append("BlC")
print(captured_pieces)
check()
def blmove():
blue.ondrag(blue.goto)
if blue.distance(black) < 30:
captured_pieces.append("BC")
print(captured_pieces)
check()
def check():
if "BlC" in captured_pieces:
print("blue captured")
def check():
if "BC" in captured_pieces:
print("black captured")
while "BlC" not in captured_pieces and "BC" not in captured_pieces:
bmove()
blmove()
screen.mainloop()
Run Code Online (Sandbox Code Playgroud)