tkinter控件不移动
我有一个小工具,如果我站在坐标100的位置,而它在坐标200的位置,它应该移动到100的位置,也就是跟着我走。
我打印了它的坐标,像你在代码中看到的那样,坐标是正确的,但这个小工具的图片本身并没有移动,我看不见它。
我有一个移动的函数,每当我移动的时候,它会调用hzom和zombie这两个函数,我在代码开始的时候也调用了它们。
food.label是玩家的标识。
def zombie():
if list3[0]>=Food.label.winfo_x():
while list3[0]>=Food.label.winfo_x():
print("fdkfj")
list3[0]=list3[0]-0.5
parent1.move(w,-0.05,0)
print(list3[0])
print(list3[1])
if list3[0]<=Food.label.winfo_x():
while list3[0]<=Food.label.winfo_x():
print(list3[0])
print(list3[1])
print("fdkfj")
list3[0]=list3[0]+0.5
parent1.move(w,0.05,0)
def hzom():
global parent1
parent1=Canvas(wind,width = 50,height = 50)
parent1.pack()
global oval12
global w
w =parent1.create_oval(0,0,50,50,fill = "blue",tags="oval12")
global list3
list3 = [1300, 640]
parent1.place(x=list3[0],y=list3[1])
print("d")
hzom()
zombie()
相关问题:
1 个回答
0
对我有效的方法是只移动画布的位置,而不是小球。
global parent1
parent1 = Canvas(wind, width=50, height=50)
global oval12
global w
w = parent1.create_oval(0, 0, 50, 50, fill="blue", tags=("oval12",))
global list3
list3 = [1300, 640]
parent1.place(x=list3[0], y=list3[1])
print("d")
def zombie():
if list3[0] >= Food.label.winfo_x():
while list3[0] >= Food.label.winfo_x():
print("fdkfj")
list3[0] = list3[0] - 0.05
parent1.place(x=list3[0], y=list3[1])
print(list3[0])
print(list3[1])
wind.update()
if list3[0] <= Food.label.winfo_x():
while list3[0] <= Food.label.winfo_x():
print(list3[0])
print(list3[1])
print("fdkfj")
list3[0] = list3[0] + 0.05
parent1.place(x=list3[0],y=list3[1])
wind.update()
hzom()
zombie()