【问题标题】:Godot Game audioplayer will not load when get_tree().reload_current_scene() called after audioplayer node called在调用音频播放器节点后调用 get_tree().reload_current_scene() 时,Godot 游戏音频播放器不会加载
【发布时间】:2022-10-05 22:03:27
【问题描述】:

这是我在在线编码论坛上的第一个问题,如果我不清楚,请道歉。我正在 Godot 中创建一个简单的平台游戏。它有一个玩家、一个敌人、一个硬币和一个平台。当玩家与硬币碰撞时,分数上升并播放play_coin_sfx(),这里没有问题。

onready var audioPlayer : Node = get_node(\"/root/MainScene/Camera2D/AudioPlayer\")

func collect_coin(value):
    
    score += value 
    ui.set_score_text(score)
    audioPlayer.play_coin_sfx()

但是,如果我重复上述代码方法来播放play_die_sfx(),我将无法播放音频。

onready var musicPlayer : Node = get_node(\"/root/MainScene/MusicPlayer\")

func die ():
    musicPlayer.play_die_sfx()
    get_tree().reload_current_scene()

如果我注释掉get_tree().reload_current_scene(),则 STRANGLEYmusicPlayer.play_die_sfx() 会起作用。我尝试交换func die() 的行,但没有运气。我正在尝试让musicPlayer.play_die_sfx() 播放,然后重新加载场景。非常感谢您的帮助,是的,我已经检查了 Godot 在线帮助和 stackoverflow,但到目前为止还没有运气。谢谢你的期待。

    标签: game-development godot


    【解决方案1】:

    当您重新加载场景时,音乐播放器节点被破坏并且声音停止。您可以尝试通过在重新加载场景之前执行 yield(music Player, "finished") 来等待声音结束。

    【讨论】:

      猜你喜欢
      • 2019-11-02
      • 1970-01-01
      • 2022-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 2022-07-19
      • 2013-07-02
      相关资源
      最近更新 更多