長押しできるボタンを作る
やり方
ボタン化したいImageにEvent Triggerをアタッチメントし、Pointer Down、Pointer Upを作る
押しっぱなし(Pointer Down)のときはフラグをONして、Update関数内でフラグがONした時間をカウント。
カウントが閾値を超えた時に処理を書けば、長押し処理の出来上がり。
// ボタン長押し用の変数定義 const float POINTER_DOWN_TIME = 0.3f; bool pointer_down = false; float PointerDownTimer = 0; void Update () { // ボタン長押し用処理 if (pointer_down == true) { PointerDownTimer += Time.deltaTime; // 長押しされた時の処理 if (PointerDownTimer > POINTER_DOWN_TIME) { } } else { // 長押しされなかった時の処理 if ((0< PointerDownTimer) && (PointerDownTimer < POINTER_DOWN_TIME)){ } PointerDownTimer = 0; } } public void PointerDown() { pointer_down = true; } public void PointerUp() { pointer_down = false; }
POINTER_DOWN_TIMEに適当な値を突っ込んでください。
自分は0.3秒(0.3f)にしました。この辺は各自調整するのがよろしいかと。