在python tkinter画布中移动对象

在python tkinter画布中移动对象,python,user-interface,tkinter,tkinter-canvas,Python,User Interface,Tkinter,Tkinter Canvas,所以我有一艘潜艇: from tkinter import * HEIGHT = 500 WIDTH = 800 window = Tk() window.title("Bubble Blaster") c = Canvas(window, width=WIDTH, height=HEIGHT, bg="darkblue") c.pack() ship_id = c.create_polygon(5, 5, 5, 25, 30, 15, fill="red") ship_id2 = c.crea

所以我有一艘潜艇:

from tkinter import *
HEIGHT = 500
WIDTH = 800
window = Tk()
window.title("Bubble Blaster")
c = Canvas(window, width=WIDTH, height=HEIGHT, bg="darkblue")
c.pack()
ship_id = c.create_polygon(5, 5, 5, 25, 30, 15, fill="red")
ship_id2 = c.create_oval(0, 0, 30, 30, outline="red")  
我正在读一本关于如何使潜艇移动的书,书上说:

def move_ship(event):
    if event.keysym == "up":
        c.move(ship_id, 0, -ship_spd)
        c.move(ship_id2, 0, -ship_spd)
    elif event.keysym == "Down":
        c.move(ship_id, 0, ship_spd)
        c.move(ship_id2, 0, ship_spd)
    elif event.keysym == "Left":
        c.move(ship_id, -ship_spd, 0)
        c.move(ship_id2,  -ship_spd, 0)
    elif event.keysym == "Right":
        c.move(ship_id, ship_spd, 0)
        c.move(ship_id2,  ship_spd, 0)
    c.bind_all('<key', move_ship)
def move_ship(事件):
如果event.keysym==“向上”:
c、 移动(船舶id,0,-船舶spd)
c、 移动(船号id2,0,-船号spd)
elif event.keysym==“向下”:
c、 移动(船号,0,船号)
c、 移动(船号id2,0,船号spd)
elif event.keysym==“Left”:
c、 移动(船舶id,-船舶spd,0)
c、 移动(船号id2,-船号spd,0)
elif event.keysym==“Right”:
c、 移动(船舶id,船舶spd,0)
c、 移动(船号id2,船号spd,0)
c、 bind_all(“就像说你需要替换
”顺便说一句,这本书叫《帮助你的孩子进行计算机编码
不同。你需要使用
from tkinter import *
HEIGHT = 500
WIDTH = 800
window = Tk()
window.title("Bubble Blaster")
c = Canvas(window, width=WIDTH, height=HEIGHT, bg="darkblue")
c.pack()
ship_id = c.create_polygon(5, 5, 5, 25, 30, 15, fill="red")
ship_id2 = c.create_oval(0, 0, 30, 30, outline="red")

def move_ship(event):
    if event.keysym == "Up":
        c.move(ship_id, 0, -ship_spd)
        c.move(ship_id2, 0, -ship_spd)
    elif event.keysym == "Down":
        c.move(ship_id, 0, ship_spd)
        c.move(ship_id2, 0, ship_spd)
    elif event.keysym == "Left":
        c.move(ship_id, -ship_spd, 0)
        c.move(ship_id2,  -ship_spd, 0)
    elif event.keysym == "Right":
        c.move(ship_id, ship_spd, 0)
        c.move(ship_id2,  ship_spd, 0)

c.bind_all('<Key>', move_ship)