(Unity)ボタンを押している間、ベル音を鳴らす(Event Triggerの使い方)

(スクリプト)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Bell : MonoBehaviour
{
    public AudioClip bellSound;
    private AudioSource audioP;

    private bool isButtonDown = false;
    private bool isPlay = false;

    void Start()
    {
        audioP = GetComponent<AudioSource>();
        audioP.clip = bellSound;
    }

    void Update()
    {
        if(isButtonDown && !isPlay)
        {
            audioP.Play();
            isPlay = true;
        }
    }

    // Event Triggerの「Pointer Down」に割り当てるメソッド
    public void OnBellButtonDown()
    {
        isButtonDown = true;
    }

    // Event Triggerの「Pointer Up」に割り当てるメソッド
    public void OnBellButtonUp()
    {
        isButtonDown = false;
        audioP.Stop();
        isPlay = false;
    }
}

(設定)

  • Canvas

 

  • Button


  • ベルボタンを押している間、ベル音が鳴る。
  • ボタンから手を離すと、ベル音が止まるで成功です。