标签: python-turtle

将 python 海龟绘图导出到视频

有没有办法将 python 海龟绘图导出到视频中?视频应包含实时绘图过程。

特别是,我对屏幕录制解决方法不感兴趣,而是对可在云环境等无头系统中工作的解决方案感兴趣。

这是乌龟绘图的示例

import turtle 
tr = turtle.Turtle()
rad = 80
tr.circle(rad)
turtle.done()
Run Code Online (Sandbox Code Playgroud)

python video-capture turtle-graphics python-turtle

8
推荐指数
0
解决办法
1202
查看次数

Python 海龟中获取鼠标点击坐标

我试图获取海龟屏幕中鼠标单击的坐标,但我的代码无法正常工作。我猜这与时间有关,但我尝试添加 5 秒的延迟,但没有帮助。

这是我的代码:

def get_mouse_click_coor(x,y):
   print [x,y]
turtle.onscreenclick(get_mouse_click_coor)
Run Code Online (Sandbox Code Playgroud)

请帮我理解代码有什么问题,谢谢:)

python turtle-graphics python-turtle

7
推荐指数
1
解决办法
3万
查看次数

如何在python的海龟图形中旋转文本

我想用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 turtle-graphics python-3.x python-turtle

6
推荐指数
1
解决办法
9643
查看次数

如何获得乌龟的位置?

如何在python中找到乌龟的坐标?

例如,如果海龟位于(200, 300),我将如何检索该位置?

python turtle-graphics python-turtle

6
推荐指数
1
解决办法
2万
查看次数

Pythonturtle.Terminator错误

当我使用海龟模块用这个简单的函数画一个圆时:

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 turtle-graphics python-3.6 python-turtle

6
推荐指数
1
解决办法
2万
查看次数

为什么Python中的abs()函数适用于位置坐标?

我正在查看海龟图形的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)),它返回错误。请帮忙!

python python-turtle

6
推荐指数
1
解决办法
3758
查看次数

如何防止乌龟向相反方向移动

代码:

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 turtle-graphics python-3.x python-turtle

6
推荐指数
1
解决办法
142
查看次数

如何将海龟图形输出转换为图像文件?

我一直在试图弄清楚如何将 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)

python turtle-graphics python-3.x python-turtle

5
推荐指数
1
解决办法
2775
查看次数

如何修复 python 海龟中不一致的帧速率(速度)

我按照本教程制作了一个乒乓球游戏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)

python frame-rate turtle-graphics pong python-turtle

5
推荐指数
1
解决办法
6445
查看次数

为什么 python 海龟图形不断崩溃/停止响应?

每当我尝试运行我的程序时,它都会绘制两只乌龟,然后窗口停止响应。

我所期待的是,直到其中一个棋子接触到另一棋子(基于我将其拖动到另一棋子附近)为止,我将能够自行拖动它们。但发生的情况是,每当我运行程序时,在绘制两只海龟后,窗口就会停止响应。我没有收到任何错误,它只是在冻结后关闭,直到我单击关闭按钮。我看过其他人的帖子,他们有这个问题,但他们最后没有 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)

python turtle-graphics python-turtle

5
推荐指数
1
解决办法
140
查看次数