Python 2.6 2D地牢爬虫游戏

时间:2014-04-28 10:06:15

标签: python user-interface pygame python-2.6

这是我将创建的第一个“真正的”基于图形的游戏,但我知道我需要帮助。

def update(self):
        if games.keyboard.is_pressed(games.K_w):
            self.y -= 1
        if games.keyboard.is_pressed(games.K_a):
            self.x -= 1
        if games.keyboard.is_pressed(games.K_s):
            self.y += 1
        if games.keyboard.is_pressed(games.K_d):
            self.x += 1
        if games.keyboard.is_pressed(games.K_i):
            Inventory()

上面是我的player课程的更新功能,检查是否按了“i”

def Inventory():
    global LEVEL, TOTAL_XP, MAX_HEALTH, MAX_MAGICKA, viewing_inv
    viewing_inv = True
    inventory_items = []
    while viewing_inv == True:
        print "yo"
        score = games.Text(value = "Points", size = 25, color = color.green, top = 5,
                      left = games.screen.width/2 + 14)
        games.screen.add(score)
        if games.keyboard.is_pressed(games.K_i):
            games.screen.remove(score)
            viewing_inv = False

以上是我正在使用的临时库存功能,以确保工作正常,但事实并非如此。我添加了print语句,以便我可以查看幕后发生的事情。每次点击“i”时,我会看到“yo”这个词大致打印2-4次。

问题

我怎样才能成功获得它,以便如果我按“i”,我会进入库存功能而不会让计算机循环2次以上才能移开我的手指?即使我希望能够再次按“i”退出,这个问题已经很多了。任何建议将不胜感激!

如果有人好奇的话,文字就会被我创建的乒乓球游戏直接撕掉(这就是为什么在查看库存时会显示点数)

0 个答案:

没有答案