Как мой плеер может столкнуться с границей холста?Python

Программы на Python
Ответить
Anonymous
 Как мой плеер может столкнуться с границей холста?

Сообщение Anonymous »

Плеер должен столкнуться с границей холста, но я не знаю, как это сделать.

from tkinter import *
import time


окно

tk = Tk()
tk.title("Game")
tk.geometry("500x500")
tk.wm_attributes("-topmost", 1)
tk.resizable(0, 0)


холст

canvas = Canvas(tk, width=500, height=500, bg="#FFD700")
canvas.pack()
canvasx = canvas.winfo_width()
canvasy = canvas.winfo_height()

player = canvas.create_rectangle(240, 240, 260, 260, fill="blue",
outline="dark blue")


Класс Player

class Player:
def __init__(self, event, canvas):
def move(event):
if event.keysym == "Up" or event.keysym == "w":
canvas.move(1, 0, -5)
elif event.keysym == "Down" or event.keysym == "s":
canvas.move(1, 0, 5)
elif event.keysym == "Right" or event.keysym == "d":
canvas.move(1, 5, 0)
else:
canvas.move(1, -5, 0)


что мне написать в этой функции?

def hit_border():
pass

canvas.bind_all("", move)
canvas.bind_all("", move)
canvas.bind_all("", move)
canvas.bind_all("", move)
canvas.bind_all("", move)
canvas.bind_all("", move)
canvas.bind_all("", move)
canvas.bind_all("", move)


вот цикл, благодаря которому все работает

while True:
player = Player(canvas, canvas)
tk.update()
time.sleep(0.001)


Подробнее здесь: https://stackoverflow.com/questions/556 ... the-canvas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»