Как я могу изменить размер Hitbox черепахи в графике черепах питона? - PullRequest
0 голосов
/ 28 мая 2019

Я не знаю, как изменить размер хитбокса черепахи в графике Python Turtle

Я еще ничего не пробовал, потому что я новичок и очень мало знаю об этом.Я пытался найти его в 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 голосов
/ 28 мая 2019
I dont know how to change the size of a turtle hitbox in python turtle graphics

Что вы подразумеваете под "хитбоксом"?Я не уверен, что вы подразумеваете под этим (и, похоже, Google тоже).

Вы хотите сказать, что вы хотите нажать на прямоугольную кнопку?Если это так, вы можете использовать модуль tkinter вместе с модулем turtle, чтобы создать кнопку для нажатия.(Но учтите, что не всегда легко заставить модули tkinter и turtle работать вместе, чтобы делать то, что вы хотите.)

Если вы хотите, чтобы кнопка нажимала, но вам не нужнокнопкой Tkinter, вы можете просто попытаться создать новую черепаху в форме прямоугольника, которая перехватывает щелчки мыши с помощью onclick().Вы можете увидеть пример этого, если вы запустите:

 python3 -m turtledemo

и выберите Examples >> colormixer в главном меню.

Или, если под «hitbox» вы подразумеваетекак определить, когда одна черепаха перехватила другую черепаху (например, одна подошла достаточно близко к другой, чтобы считаться "хитом"), я предлагаю запросить местоположение каждой черепахи, а затем использовать теорему Пифагора длярассчитать расстояние друг от друга.Если это расстояние находится в пределах заранее определенного порога, считайте хитбокс «хитом».

Пример этого можно увидеть, набрав:

python3 -m turtle

(Обратите внимание на желтую черепахукогда он пытается догнать другую черепаху.)

Я прошу прощения, если этот ответ не совсем то, что вы ищете, но я просто не уверен, что вы подразумеваете под "хитбоксом".Может быть, вы могли бы уточнить?

0 голосов
/ 28 мая 2019

Это может быть не совсем то, что вы ищете, но это может работать в вашей ситуации. Обнаружение столкновения в игре Python Turtle Это поток по обнаружению столкновений между объектами, и с некоторой подстройкой чисел вы можете увеличить хитбокс черепахи, используя функцию abs()

...