gpt4 book ai didi

python - Tkinter:点击时移动到随机位置

转载 作者:行者123 更新时间:2023-12-01 05:44:06 24 4
gpt4 key购买 nike

我正在开发一个简单的 tkinter 游戏,但遇到了问题。我希望当您单击图像时能够将图像移动到屏幕上的随机位置,但我认为可行的方法却行不通。下面是代码:

spr_earth=PhotoImage(file="earth.gif")
x=r.randrange(64,roomw-64)
y=r.randrange(64,roomh-64)

earth=canvas.create_image(x,y,image=spr_earth)
x1,x2,y1,y2=canvas.bbox(earth)


def click(event):
if ((event.x>x1) and (event.x<x2)) and ((event.y>y1) and (event.y<y2)):
canvas.move(earth,r.randrange(64,roomw-64),r.randrange(64,roomh-64))

root.bind_all("<Button-1>",click)
root.mainloop()

我以为这会起作用,但显然不行。你可以点击它,但它似乎传送到太空中:)

非常感谢任何人对此问题的意见。谢谢

最佳答案

来自reading the documentation ,看起来 move 坐标是相对于当前位置的。

也许这样的东西会起作用(警告,此代码未经测试):

def click(event):
if ((event.x>x1) and (event.x<x2)) and ((event.y>y1) and (event.y<y2)):
canvas.coords(earth,(r.randrange(64,roomw-64),r.randrange(64,roomh-64)))
<小时/>

就其值(value)而言,以下简化脚本似乎对我有用:

import Tkinter as tk
from random import randrange

root = tk.Tk()
canvas = tk.Canvas(root,width=400,height=400)
canvas.pack()
image = tk.PhotoImage(file='mouse.gif')

def position():
return randrange(0,400),randrange(0,400)

mouse = canvas.create_image(*position(),image=image)

def click(event):
canvas.coords(mouse,position())

canvas.bind('<Button-1>',click)

root.mainloop()

(鼠标始终部分停留在 Canvas 上)。

enter image description here

关于python - Tkinter:点击时移动到随机位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16703505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com