2016-02-14 40 views
0

我正在寫一個遊戲內存版本。我有兩個組 - 一個用於「封面」,一個用於卡片本身。這些封面是爲了隱藏卡片而放在卡片上的那些封面。我無法弄清楚的問題是,當用戶點擊其中一張卡片時,我使用kill()來移除封面卡片和下方顯示的卡片(基本上是翻轉過的),但是我無法弄清楚如何找到組內下方卡片的位置。我怎樣才能找出用戶點擊哪張卡?找出用戶點擊了哪張卡(精靈)

+0

我建議你用最後一句話替換標題。索引只是識別卡片的一種方式。看到我的答案另一個。 –

+1

[pygame鼠標點擊檢測]可能的重複(http://stackoverflow.com/questions/10990137/pygame-mouse-clicking-detection) – sloth

回答

-1

答案取決於你如何顯示圖像。這是使用Button子類的mcve。這允許實例攜帶識別信息並使用綁定方法作爲命令。

import tkinter as tk 
root = tk.Tk() 

class Card(tk.Button): 
    hide = 'XXX' 
    def __init__(self, txt): 
     super().__init__(root, text=self.hide) 
     self.txt = txt 
     self.exposed = False 
    def flip(self): 
     self['text'] = self.hide if self.exposed else self.txt 
     self.exposed = not self.exposed 

for i, txt in enumerate(('one', 'two')): 
    card = Card(txt) 
    card['command'] = card.flip 
    card.grid(row=0, column=i) 

#root.mainloop() # uncomment if run on command line without -i 
+0

吶喊,發佈這個答案後,我注意到,標籤是'pygame'而不是'tkinter'。人們經常使用tkinter來進行這樣的紙牌遊戲。我不知道哪些tkinter替代品可以適用於pygame。 –