初歩的な質問すみません。
Python3についての質問です。
import tkinter
key = ""
def key_down(o):
global key
key = o.keysym
def key_up(o):
global key
key = ""
x = 400
y = 300
def main_proc():
global x,y
if key == "Up":
y = y - 20
if key == "Down":
y = y + 20
if key == "Right":
x = x + 20
if key == "Left":
x = x -20
canvas.coords("kou",x,y)
root.after(100, main_proc)
root=tkinter.Tk()
root.title("キャラクターの移動")
root.bind("<KeyPress>", key_down)
root.bind("<KeyRelease>", key_up)
canvas = tkinter.Canvas(width = 800, height = 600, bg= "lightgreen")
canvas.pack()
img = tkinter.PhotoImage(file = "mimi.png")
canvas.create_image(x,y,image = img, tag = "kou")
main_proc()
root.mainloop()
こちらのコードで
def key_up(o):
global key
key = ""
ここの部分なのですが、何故key_upのところに引数(o)が必要なのでしょうか?
こちらはキャラクターが上下左右に動くようなコードです。
(o)がない場合は一度ボタンを押したらずっと動き続け、止まりません。
(o)がある場合は一回一回ボタンを押すことでキャラクターが動きます。
それが何故か分からないので、ご教授して頂けると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/19 06:21