python canvas画移动物体_python – tkinter在画布上移动对象
我是python的新手.我试图在画布上实现一个简单的对象移动.想法是简单地更新X,Y坐标并重绘椭圆.我每次更新坐标时都尝试使用canvas.update(),但这种方法不起作用.class character():x = 10y = 10color = "red"canvas.create_oval(x, y, x + 40, y + 40, fill=color)def moveup():cha
我是python的新手.我试图在画布上实现一个简单的对象移动.
想法是简单地更新X,Y坐标并重绘椭圆.
我每次更新坐标时都尝试使用canvas.update(),但这种方法不起作用.
class character():
x = 10
y = 10
color = "red"
canvas.create_oval(x, y, x + 40, y + 40, fill=color)
def moveup():
character.y -= 10
def moveright():
character.x += 10
def movedown():
character.y += 10
def moveleft():
character.x -= 10
def choose():
choosen_move = randint(0, 4)
if choosen_move == 0:
moveup()
elif choosen_move == 1:
moveright()
elif choosen_move == 2:
movedown()
elif choosen_move == 3:
moveleft()
print "%s | %s" % (character.x, character.y)
canvas.update()
sleep(1)
while True:
choose()
root.mainloop()
解决方法:
而不是character.x = 10或character.y – = 10,你需要使用move:
canvas.move(oval, 10, 0) # for x += 10
canvas.move(oval, 0, -10) # for y -= 10
其余的应该遵循.
您可以只使用oval = canvas.create_oval(x,y,x 40,y 40,fill = color)来代替Character类.
标签:python,tkinter
来源: https://codeday.me/bug/20191007/1865555.html
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)