gpt4 book ai didi

python - Tkinter Canvas Sense Touch?

转载 作者:行者123 更新时间:2023-12-01 08:21:40 25 4
gpt4 key购买 nike

我正在开发一个游戏,我想知道是否有一种方法可以让 tkinter Canvas 对象检测是否有东西正在触摸它。我目前使用这样的东西:

pos = canvas.coords(insert_object_here)
otherpos = canvas.coords(other_object)
if pos[3] <= objectpos[3] and pos[1] >= objectpos[1]:
if pos[2] <= objectpos[0]:
if pos[2] >= objectpos[0]-self.speed:
canvas.move(self.id, -x, y)
if pos[0] >= objectpos[2]:
if pos[0] <= objectpos[2]+self.speed:
canvas.move(self.id, -x, y)
if pos[2] <= objectpos[2] and pos[0] >= objectpos[0]:
if pos[3] <= objectpos[1]:
if pos[3] >= objectpos[1]-self.speed:
canvas.move(self.id, x, -y)
if pos[1] >= objectpos[3]:
if pos[1] <= objectpos[3]+self.speed:
canvas.move(self.id, x, -y)

canvas.move(self.id, x, y)

这是很多代码,我只需要使用它一次,使得使用函数毫无意义。

总之,有没有一种方法可以让对象检测触摸,或者至少有没有一种方法可以改进此代码?

最佳答案

Canvas 具有名为 find_closestfind_overlapping 的方法,可用于确定对象是否接触。

关于python - Tkinter Canvas Sense Touch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54607289/

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