トリガーとなるオブジェクトなどがイベント発生で消えてしまう場合
(アイテムをタップして入手する場合など)には問題がありませんが、
残り続けるなどして、意図せずに何度も同じイベントが
起きてしまうのはまずいですね。
そのような場合には bool を使います。
以下、ボタンを押した際、最初の1回だけ音が鳴るスクリプトです。
C#
イベントの発生条件に bool を入れ、発生と同時に true, false を
切り替えることで同じイベントは発生しなくなります。
(アイテムをタップして入手する場合など)には問題がありませんが、
残り続けるなどして、意図せずに何度も同じイベントが
起きてしまうのはまずいですね。
そのような場合には bool を使います。
以下、ボタンを押した際、最初の1回だけ音が鳴るスクリプトです。
C#
using System.Collections; using System.Collections.Generic; using UnityEngine; public class onseiscript : MonoBehaviour { private AudioSource audioSource; public AudioClip koukaon; bool onlyonetime = false; // Use this for initialization void Start () { audioSource = gameObject.GetComponent<AudioSource>(); } public void buttontap() { if (onlyonetime == false) { audioSource.PlayOneShot(koukaon); onlyonetime = true; } } } |
イベントの発生条件に bool を入れ、発生と同時に true, false を
切り替えることで同じイベントは発生しなくなります。