前提
ここに質問の内容を詳しく書いてください。
(例)
TypeScriptで●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
unityでマウスで入力できるフリックキーボードを作成しています。
マウスをクリックした座標によって入力を変える機能を実装中に以下のエラーメッセージが発生しました。
実現したいこと
クリックした場所の条件を設定したい。
発生している問題・エラーメッセージ
Assets\FlickScript.cs(87,16): error CS0019: Operator '<' cannot be applied to operands of type 'bool' and 'float'
該当のソースコード
FlickScript.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class FlickScript : MonoBehaviour { Vector3 startTouchPos; Vector3 endTouchPos; float flickValue_x; float flickValue_y; float position_x; float position_y; public Text text; Rigidbody player_rb; [SerializeField] float jumpPower = 10.0f; void Start() { player_rb = GetComponent<Rigidbody>(); } void Update() { int NameCount = text.text.Length; if (Input.GetMouseButtonDown(0) == true) { startTouchPos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Input.mousePosition.z); } if (Input.GetMouseButtonUp(0) == true) { endTouchPos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Input.mousePosition.z); FlickDirection(); GetDirection(); } if (Input.GetMouseButtonUp(0)) { } if (text.text.Length >= 10) { text.text = ""; } } void FlickDirection() { flickValue_x = endTouchPos.x - startTouchPos.x; flickValue_y = endTouchPos.y - startTouchPos.y; Debug.Log("x座標は" + startTouchPos.x); Debug.Log("y座標は" + startTouchPos.y); Debug.Log("z座標は" + startTouchPos.z); Debug.Log("x スワイプ量は" + flickValue_x); Debug.Log("y スワイプ量は" + flickValue_y); } void GetDirection() { position_x = startTouchPos.x; position_y = startTouchPos.y; if (flickValue_x > 500.0f) { transform.position -= new Vector3(0, 0, 3); Debug.Log("あ"); //text.text = text.text + "あ"; } if (flickValue_x < -500.0f) { transform.position += new Vector3(0, 0, 3); } if (flickValue_y > 500.0f) { player_rb.velocity += new Vector3(0, jumpPower, 0); } if (Input.GetMouseButtonUp(0)) { if(-5f < position_x < 5f && -5f < position_y < 5) { if (flickValue_x - flickValue_y < 50.0f && flickValue_x + flickValue_y < 50.0f && flickValue_x < -50.0f) { text.text = text.text + "い"; } else if (flickValue_x - flickValue_y < 50.0f && flickValue_x + flickValue_y > 50.0f && flickValue_y > 50.0f) { text.text = text.text + "う"; } else if (flickValue_x - flickValue_y > 50.0f && flickValue_x + flickValue_y > 50.0f && flickValue_x > 50.0f) { text.text = text.text + "え"; } else if (flickValue_x - flickValue_y > 50.0f && flickValue_x + flickValue_y < 50.0f && flickValue_y < -50.0f) { text.text = text.text + "お"; } else { text.text = text.text + "あ"; } } } } }
試したこと
エラーメッセージについて調べたが、勉強不足で解決法がわからなかった。
補足情報(FW/ツールのバージョンなど)
unity 2020.3.34f1(64bit)
0 コメント