我正在做一个游戏,我想知道是否有一种方法可以让一个平纹画布物体检测到是否有东西在触摸它。我现在用的是这样的东西:
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)这是很多代码,我只需要使用它一次,使使用一个函数毫无意义。
总之,对象是否有检测触摸的方法,或者至少有一种改进此代码的方法?
发布于 2019-02-09 15:20:20
画布中有名为find_closest和find_overlapping的方法,这些方法可以用来确定对象是否接触。
https://stackoverflow.com/questions/54607289
复制相似问题