找出用户点击的卡片(精灵)

时间:2016-02-14 21:50:20

标签: python python-3.x pygame sprite

我正在编写游戏内存版本。我有两个小组 - 一个用于"封面"还有一张卡本身。封面是卡片的顶部,以隐藏卡片。我无法弄清楚的问题是,当用户点击其中一张卡片时,我使用kill()来移除封面卡并显示下面的卡片(基本上是翻转卡片),但是我无法弄清楚如何找到组内部卡片的位置。如何找出用户点击的卡?

1 个答案:

答案 0 :(得分:-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