効果音を鳴らしながらシーン遷移させたい。

Godotバージョン

4.3

OSとそのバージョン

windows 11 23H2

使用言語

GDScript

内容

ボタンを押したら効果音が鳴り、シーンが遷移するスクリプトを作ろうとしています。しかし、再生されてすぐに次のシーンに移り、その際にAudioStreamPlayerもツリーから消えてしまうため、音が消えてしまいます。
シーンをchange_scene_to_file()関数を用いて遷移する際、効果音を鳴らしながら遷移したいです。
AutoLoadを用いる方法も考えましたが、大量の効果音のノードが常に読み込まれている状況になるのは不健全な気がするので、できたら避けたいです。

AnimationPlayerを使えばできるかと思います。詳しくはこの公式のドキュメントで読んで頂ければわかるかと思いますか、下記の簡単な応用例を参考にして下さい:

  1. ツリーにAnimationPlayerを追加
  2. アニメーションパネルにて、新規アニメーションを作成

    AnimationPlayerをクリックするとパネルが表示されます(僕の例ではすでにアニメーションがあるので色々並んでますが、新規のアニメーションの場合は空なハズです)
  3. トラックを追加プロパティトラック...で、効果音のPlayingを0秒目からオンにする
  4. 適当な秒数後、現在のシーンのmodulate数値を#FFFFFFFFから#FFFFFF00へ(つまり、透明度0%から100%へ)1秒ほどかけて、スクリーンを真っ暗にし、visibilityをオフにする
  5. その直後、次のシーンのvisibilityをオンにしmodulate数値を#FFFFFF00から#FFFFFFFFへ
  6. 「シーン遷移」ボタンのpressedシグナルを上記のアニメーションに繋げる

これで順に「効果音がなる」、「シーンがフェイドアウトする」、「別のシーンがフェイドインする」というアニメーションができるハズです。効果音がなっている間に0秒目からフェイドアウトを始めるのもありですね。

ちなみに、効果音がツリーから消えてしまうのは変ですね。どの関数で再生させてますか?