1
슈팅 메 커닉을 구현해야합니다. 발사체를 계속 움직여야하지만 코드를 관리 할 수는 없습니다. 이 순간에 나는 공간을 누를 때 프로그램이 멈 춥니 다. 도움말 크게 감사하겠습니다.Tkinter ... 우주 침략자 ... 슈팅
from tkinter import *
# creates window
window = Tk()
size = window.winfo_screenheight()
window.title("This is a window")
# set up geometry using string formatting operator %
window.geometry("%dx%d+%d+%d" % (1000, 1000, 10, 10))
window.update()
# creates canvas
global canvas
canvas = Canvas(window, bg='green')
# pack is a layout manager
canvas.pack(fill=BOTH, expand=1)
canvas.update()
canvas.create_rectangle(0, 1000, 1000, 0, fill="orange", width=10, outline="white", tag="border")
def shooting():
c = canvas.coords("player")
canvas.create_line(c[0],c[1] + 20,c[2],c[3],width=5,fill="yellow",tag="shot")
while True:
canvas.move("shot",0,20)
canvas.update()
def on_key_press(event):
global canvas
c = canvas.coords("player")
if event.keysym == 'Left' and c[0] > 0:
canvas.move("player", -20,0)
print(canvas.coords("player"))
elif event.keysym == 'Right' and c[2] < 1000:
canvas.move("player", 20, 0)
print(canvas.coords("player"))
elif event.keysym == 'space':
shooting()
canvas.create_line(500, 950,500,1000, width=15, fill="red",tag="player")
canvas.bind_all('<Key>', on_key_press)
window.mainloop()
'shooting()'에서 무한 루프'while True'가있어서 프로그램이 멈 춥니 다. – furas