簡體   English   中英

如何從ID號中獲取Tag的object

[英]How can get the Tag's object from the ID number

我想知道是否有辦法從他的 ID 中獲取 canvas object 的標簽。

我在一個游戲中工作,我需要刪除所有具有相同標簽的項目,但我只有這些對象中的一個 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 發生碰撞時,我將刪除所有對象。

您可以使用itemcget方法獲取任何 canvas 項目的任何配置選項。

tags = canvas.itemcget(ID, "tags")

注意:這將返回一個字符串而不是一個列表。 由於您的對象只有一個標簽,這應該不是問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM