python 2.6头顶地牢爬行

时间:2014-04-28 05:43:47

标签: python pygame 2d 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()

以上是我的播放器类的更新功能,检查我是否被按下。

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语句,以便我可以查看幕后发生的事情。我看到了"哟"每次打我时打印大约2-4次。我怎么能成功地得到它,以便如果我按下我进入库存功能没有计算机循环2次以上我可以删除我的手指?这个问题已经很多了,即使我希望能够再次按下我退出。任何建议将不胜感激!

1 个答案:

答案 0 :(得分:1)

如果您的房间类正常工作,您不需要全局,请考虑使用在构造函数中设置的实例属性。

此外,我不认为每个房型需要单独的课程。它感觉不必要地复杂,因为基本上每个房间的行为都相同 - 它可能看起来不同 - 但你可以通过实例属性来处理房间的外观。我需要的是创建单个房间类的单独实例,并在创建实例时,传入墙壁,敌人,地板等。

相关问题