【问题标题】:Pygame - When conditions are met, displaying pictures and stopping music?Pygame - 满足条件时,显示图片并停止音乐?
【发布时间】:2012-10-25 02:38:15
【问题描述】:

声音优先 - 我目前正在播放背景音乐,但我想在用户获胜或失败时停止播放并播放胜利或失败歌曲。目前我无法让背景音乐停止。我假设我把命令停止音乐并在条件下播放另一个文件。我说的对吗?

我尝试过诸如 bgm_music = True while bgm_music == true: code 和条件 bgm_music = False 之类的东西,但这会阻止我的程序工作。

编辑 - 好的,因为刚刚加载一首新歌的音乐效果很好,所以我认为我对声音部分没问题。

至于图片。从本质上讲,我想做与音乐相同的事情。一旦用户获胜或失败,我想在所有内容之上显示胜利或失败的图像。同样,我尝试了与上述类似的布尔值,但无济于事。

编辑 2 - 我已设法显示图片,但我需要知道如何将其置于顶部(目前精灵位于其顶部)

【问题讨论】:

  • 设置与背景音乐相关的布尔值会阻止程序运行?我认为我们将不得不查看您的一些代码来帮助您解决此问题。
  • 好吧,它并没有阻止程序工作,它只是没有加载任何东西。无论如何,它现在已修复,但图像没有出现在顶部。
  • 要使图片位于顶部,您只需按正确的顺序对图片进行 blit,在运行时没有简单的方法可以更改
  • 谢谢。我会在这些位置上玩一玩。

标签: python image audio pygame


【解决方案1】:

它认为你应该跟踪不同的状态,例如:

  • 1:游戏玩法
  • 2:宋
  • 3:游戏结束画面

然后根据你的主循环中的状态执行代码:

if state == 1:
    # gameplay code
    # if over start music and change to state 2
elif state == 2:
    # song playing
    # decrese song_counter
    if song_counter == 0:
        # stop music
        # change to state 3
elif state == 3:
    # blit game over image
    # decrease game_over_counter
    if game_over_counter == 0:
        # reset game
        # change to state 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2016-04-12
    • 2020-01-11
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多