当前位置: 首页 > 知识库问答 >
问题:

Pygame,玩家打高分导致游戏不显示死亡画面

皇甫雨石
2023-03-14

我正在尝试从pygame的应用商店中复制练习,我已经建立了一个系统,如果你击败了当前的高分,它会把它写进文件中,这样它就可以保存到以后,这样用户就可以尝试击败他们的分数。

def player_death(player_score):  # What happens when the player dies
    end_font = pygame.font.Font('freesansbold.ttf', 50)
    print("You have died")  # For debugging

    score_file = open('data/score.txt', 'a')  # Don't think this is related
    score_file.write(str(player_score))       # Don't think this is related
    score_file.close()                        # Don't think this is related 

    b_score_file = open('data/score_best.txt', 'r')
    score_read = int(b_score_file.read())
    b_score_file.close()

    if player_score >= score_read:
        b_score_file = open('data/score_best.txt', 'w')
        b_score_file.write(str(player_score))
        b_score_file.close()

        print("New best score!")  # For debugging
        print(score_read)  # For debugging
        return best_score2

每当玩家与一个Rect发生冲突时,它就会增加分数,在主游戏循环中,这个循环被传递为'player_score'以用于死亡屏幕,函数中有一个循环和其他东西,但我想我已经把它缩小到这一部分了。如果需要更多的代码,我可以添加。问题是,如果保存在score_best.txt中的高分高于你刚刚得到的分数,它就会完全正常工作。在代码的主循环中,我有它,所以如果您在屏幕的顶部或底部与rect发生冲突,它将运行上面的函数。如果需要更多的信息,尽管问,因为我的想法已经用完了。

当玩家击中运行该功能的任何一个部件时,它仍然会检测到它,并运行“你已经死了”的打印语句,但随后通过该功能绘制的实际屏幕(未在粘贴的代码中显示)不会显示,只是让玩家撞到地面并弹开。

共有1个答案

苍和裕
2023-03-14

我把线拆了

return best_score2

这样就解决了问题。

 类似资料:
  • 我试图在pygame中创建一个下降效果,但我被困在一个特定的问题上。每当玩家摔倒并与平台发生碰撞时,我的玩家类就会开始上下摆动。我确信这与我的更新循环有关,但我不确定它到底是什么。我尝试了几种方法,例如重新排列层次结构,但无济于事。我最终在网上搜索,但没有得到答案。所以如果有人能帮忙,我将不胜感激。 谢谢!

  • 本文向大家介绍pygame实现打字游戏,包括了pygame实现打字游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了pygame实现打字游戏的具体代码,供大家参考,具体内容如下 1.基本代码 下面的代码完成了每一秒在界面的顶部随机生成一个新的字母 2.移动字母 先增加一个定时器,设定字母20毫秒移动一格 在主循环中加入移动的代码 3.消除字母 在事件的处理代码中加入对键盘字母的判断

  • 你好,我目前正在开发一款生存射击游戏,我目前对一些事情感到沮丧。一个是我的游戏动画不起作用。我这里有播放器类的代码: 如果您想了解我的任何其他问题/挫折,请说出来。任何帮助将不胜感激。谢谢。

  • 我已经开发了一个2D侧滚动平台一段时间了。这是我的第一场正式比赛,快结束了。到目前为止,我还没有过多考虑过决议。 我的游戏是基于瓷砖的,大多数瓷砖和玩家精灵都是。尺寸为40x40像素的PNG文件。默认屏幕高度和宽度为1280x720。据我所知,现在的大多数游戏都有很多不同的分辨率选择和不同的纵横比。 我想给玩家几个分辨率的选择,比如800x600、1024x768和1280x720。这需要这样做,

  • 游玩UMD™游戏     开始游玩游戏 1. 插入UMD™。 2. 选择 (游戏) > (UMD™)。 离开游戏 于游玩时按下PS按钮(HOME(归返)按钮)。请遵循画面指示,正确操作。 关于保存数据 保存数据会保存至Memory Stick™,并于(管理保存数据)显示。

  • 刚开始使用pygame,当你按住箭头键时,试图让一个简单的点在屏幕上移动。目前,它只在你按键时移动,但你必须重复按键。 此外,我很感激你对我目前的代码有任何建议,可以改进或改变,使之更有效。