【发布时间】:2022-01-18 04:05:38
【问题描述】:
我想知道是否有办法从他的 ID 中获取画布对象的标签。
我在一个游戏中工作,我需要删除所有具有相同标签的项目,但我只有这些对象中的一个 ID。示例:
root = Tk()
canvas = Canvas(root, width = x, height = y)
collider_object = canvas.create_*(any)*(coordnates_x, coordinates_y)
for i in range(5):
for j in range(5):
object_one = canvas.create_*(any)*(coordinates_x1, coordinates_y1, tag = '%i%i'%(i,j))
object_two = canvas.create_*(any)*(coordinates_x2, coordinates_y2, tag = '%i%i'%(i,j))
object_three = canvas.create_*(any)*(coordinates_x3, coordinates_y3, tag = '%i%i'%(i,j))
ID = canvas.find_overlapping(object_collider*(coordinates)*)
canvas.delete(ID['tag'])
IDLE response: TypeError: 'int' object is not subscriptable
您如何看到具有相同标签但坐标不同的对象。这意味着它们不一定会与 collider_object 同时发生碰撞。
我需要从 ID 号中获取标签,所以当任何具有相同标签的对象与 collider_object 碰撞时,我会删除所有对象。
【问题讨论】:
-
您提供的代码有语法错误。请提供有效代码。
标签: python tkinter canvas tags