(Unity6)ボタンを押している間、オブジェクトを大きくする(Event Triggerの使い方)

(スクリプト)

using UnityEngine;

public class ScaleButton : MonoBehaviour
{
    public GameObject target;
    private Vector3 initialScale;
    private bool isPushed = false;

    private void Start()
    {
        // 初期の大きさ
        initialScale = target.transform.localScale;
    }

    private void Update()
    {
        if (isPushed)
        {
            target.transform.localScale *= 1.005f;
        }
    }

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

    // Event Triggerの「Pointer Up」に割り当てるメソッド
    public void OnScaleButtonUp()
    {
        isPushed = false;
    }

    // リセットボタン
    public void OnResetButtonClicked()
    {
        // 初期の大きさに戻す
        target.transform.localScale = initialScale;
    }
}

(設定)

*Canvas

・サイズを大きくしたいオブジェクトをTargetの空欄に設定

*Button

・「Event Trigger」コンポーネントを追加

・イベントタイプで「Pointer Down」「Pointer Up」の2つを設定


(実行結果)

・UIのボタンを押している間は「オブジェクトが大きくなり」

・ボタンから手を離すとそれがストップすれば成功です。