前提・実現したいこと
VRchat でボタンを押したときにカウントダウンが始まるようにしたいです。
ボタンにカーソルが触れていることは確認できるのですが, 押してもそれ以降の反応がなく, カウントダウンも始まりません。
詳細
Fig. 1. ヒエラルキーの中身。Button を押した後にテキストの Timer が反応するようにしたい。
Fig. 2. キャンバスの中身。Layer → Default, Render Mode → World space, VRC_ui Shape を導入。
Fig. 3. (i) Button の中身。Layer → Default, カーソルが触れたときに赤, 押したときに青となる。(ii) VRC_Trigger の中身。OnInteract, AlwaysUnbuffered, Actions に SendRPC を入れ, 関数 OnButtonclick (Fig 4 参照) を発火させる。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Timer : MonoBehaviour { public Text timerText; public static float CountDownTime; Text text; bool isTimerStart = false; public void OnButtonclick() { isTimerStart = true; } // Use this for initialization void Start() { text = GetComponent<Text>(); CountDownTime = 5.0F; } // Update is called once per frame void Update() { if (!isTimerStart) { return; } else if (isTimerStart && CountDownTime > 0.0f) { timerText.text = string.Format("{0:00.0000}", CountDownTime); CountDownTime -= Time.deltaTime; } if (CountDownTime <= 0f) { isTimerStart = false; timerText.text = "End"; } } }
Fig. 4. カウントダウン(スクリプト Timer )の中身。
Fig 5. テキストの中身。Layer → Default, スクリプト Timer を導入。
Fig. 6. VRchat でワールドをビルドアップした時の様子。カーソルが触れていることは確認できるが、押してもボタンが赤にならず、カウントダウンも始まらない。
補足情報(FW/ツールのバージョンなど)
Unity 2018.4.20f1
VRCSDK2.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。