3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Godotで効果音の再生終了を待つ

Last updated at Posted at 2021-09-06

動作環境

  • Windows 10 Pro 21H1
  • Godot V3.3.3

概要

Godotで

  1. ボタンを押す
  2. 効果音の再生
  3. シーンの切り替え

という動作をさせたいとき、シーンの切り替えが早すぎて効果音がほとんど再生されない場合があります。

どうやって再生終了を待つか、という問題の対処方法です。

yieldを使う

ループで待とう、とか効果音の長さを測っておいてタイマーを設定しよう、などというアイデアが思いつきますが、どちらもタイミングは不安定でメンテナンス性に欠けます。

対処はとても簡単yieldを使えば解決します。

$AudioStreamButton.play()
yield($AudioStreamButton, "finished")
get_tree().change_scene("res://SceneTitle.tscn")

オーディオストリームのfinishedシグナルに対しyieldを仕掛けるだけ。

たったこれだけで効果音の再生を待ってからシーンが切り替わります。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?