### 問題点 閾値を超えた時の座標の移動は理想的であるが、いったん閾値を下回ると元の位置にもどってしまうので戻らないようにしたい ここに言語を入力 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class SerialCube : MonoBehaviour { public SerialHandler serialHandler; public Text sensorText; public float threshold = 200f; public Vector3 velocity = new Vector3(0f, -0.8f, 0f); private Vector3 initialPosition; void Start() { serialHandler.OnDataReceived += OnDataReceived; initialPosition = transform.localPosition; } void OnDataReceived(string message) { var data = message.Split( new string[] { "\t" }, System.StringSplitOptions.None); if (data.Length < 2) return; sensorText.text = "ondo:" + message; try { var temperature = float.Parse(data[0]); if (temperature > threshold) { transform.localPosition += velocity * Time.deltaTime; } else { transform.localPosition = initialPosition; } } catch (System.Exception e) { Debug.LogWarning(e.Message); } } }
回答2件
あなたの回答
tips
プレビュー