【问题标题】:How do I change the Hitbox size of a turtle in python turtle graphics?如何在 python 海龟图形中更改海龟的 Hitbox 大小?
【发布时间】:2019-05-28 16:36:04
【问题描述】:

我不知道如何在 python 海龟图形中改变海龟碰撞箱的大小

我还没有尝试过任何东西,因为我是新手,对此知之甚少。不过,我试过用谷歌搜索它,但没有弹出任何内容。

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()

【问题讨论】:

    标签: python collision turtle-graphics


    【解决方案1】:

    这可能不是您正在寻找的,但这可能适用于您的情况。 Detecting collision in Python turtle game 这是一个关于对象之间碰撞检测的线程,通过对数字进行一些调整,您可以使用 abs() 函数增加海龟的命中框

    【讨论】:

      【解决方案2】:
      I dont know how to change the size of a turtle hitbox in python turtle graphics
      

      你所说的“hitbox”是什么意思?我不确定你的意思是什么(显然谷歌也不是)。

      您的意思是要单击一个矩形按钮吗?如果是这种情况,您可以将tkinter 模块与turtle 模块一起使用来创建一个单击按钮。 (但请注意,要让 tkinterturtle 模块一起工作来做你想做的事情并不总是那么容易。)

      如果你想点击一个按钮,但不需要 Tkinter 按钮,你可以尝试创建一个矩形形状的新海龟,用onclick() 拦截鼠标点击。如果你运行,你可以看到一个这样的例子:

       python3 -m turtledemo
      

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

      或者,如果“hitbox”是指如何检测一只乌龟何时拦截另一只乌龟(例如,一只乌龟离另一只乌龟足够近而被视为“命中”),我建议查询每只海龟的位置,然后使用勾股定理计算彼此之间的距离。如果此距离在预定阈值之内,则认为 hitbox 被“击中”。

      您可以通过键入以下内容查看此示例:

      python3 -m turtle
      

      (注意黄色乌龟试图追上另一只乌龟。)

      如果这个答案不是您想要的,我深表歉意,但我不确定您所说的“hitbox”是什么意思。也许你可以澄清一下?

      【讨论】:

      • 当我说 hitbox 时,我指的是海龟与事物交互的部分。一个例子是 gamecrate.com/sites/default/files/smash-bros-hitbox-meme.jpg 盒子是 hitboxes,它们是交互的部分。其他的只是角色的形象
      • 据我所知,蟒蛇没有碰撞箱。在我见过的几个程序中,乌龟需要与对象交互(例如在python -m turtle 中),将乌龟的位置与正在交互的对象的位置进行比较。您可以通过在代码中搜索单词 CAUGHT 来查看 python -m turtle 是如何做到这一点的(您可以通过键入 python -c "help('turtle')" 并向下滚动到最底部来找到正确代码文件的路径;在那里您会看到海龟模块路径)。看看这段代码,也许你会知道如何做类似的事情。
      猜你喜欢
      • 1970-01-01
      • 2018-05-30
      • 2014-03-18
      • 1970-01-01
      • 2012-05-17
      • 2020-05-11
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      相关资源
      最近更新 更多