如何在python乌龟图形中更改乌龟的Hitbox大小?

时间:2019-05-28 16:36:04

标签: python collision turtle-graphics

我不知道如何在python乌龟图形中更改乌龟点击框的大小

由于我是新手,所以我还没有尝试过任何东西,对此一无所知。我尝试过使用Google搜索,但是没有弹出。

from turtle import *
import turtle
from random import randint
import time

screen = turtle.Screen()
screen.setup(1920, 1080)
player = turtle.Turtle()

我想添加一个按钮,您必须单击此处才能开始

游戏从这里开始:

wn = turtle.Screen()

last_pressed = 'up'

def setup(col, x, y, w, s, shape):

  player.penup()
  player.up()
  player.goto(x,y)
  player.width(w)
  player.turtlesize(s)
  player.color(col)
  player.lt(90)
  player.down()
  wn.onkey(up, "s")
  wn.onkey(left, "d")
  wn.onkey(right, "a")
  wn.onkey(back, "w")
  wn.onkey(quitTurtles, "Escape")
  wn.listen()
  wn.mainloop()

2 个答案:

答案 0 :(得分:0)

这可能与您要查找的不完全相同,但这可能会因您的情况而定。 Detecting collision in Python turtle game 这是一个对象间碰撞检测的线程,通过一些数字调整,您可以使用abs()函数来增加乌龟的命中框

答案 1 :(得分:0)

I dont know how to change the size of a turtle hitbox in python turtle graphics

“ hitbox”是什么意思?我不确定您的意思是什么(显然Google也没有)。

您是说要单击矩形按钮吗?在这种情况下,您可以将tkinter模块与turtle模块一起使用以创建一个单击按钮。 (但要注意,让tkinterturtle模块一起工作以完成所需的工作并不总是那么容易。)

如果您要单击按钮,但不需要Tkinter按钮,则可以尝试创建一个矩形的新乌龟,该矩形可以用onclick()截获鼠标单击。如果运行,您可以看到一个示例:

 python3 -m turtledemo

,然后从主菜单栏中选择Examples >> colormixer

或者,如果用“命中盒”来表示如何检测一只乌龟何时拦截了另一只乌龟(例如,一只乌龟与另一只乌龟的距离足够近,可以认为是“一只乌龟”),我建议查询每只乌龟的位置,然后使用勾股定理计算彼此之间的距离。如果此距离在预定阈值内,则将Hitbox视为“ hit”。

您可以通过输入以下内容来查看示例:

python3 -m turtle

(当他试图追赶另一只乌龟时要注意黄色的乌龟。)

如果此答案与您要找的答案不完全相同,我深表歉意,但我不确定您所说的“ hitbox”是什么意思。也许您可以澄清一下?