前提・実現したいこと
※具体的にわからないことが出てきましたので、質問の修正をさせていただきました。
unity上で、UIで作ったButtonを長押しすることでオブジェクトの操作ができるようにC#でコードを書いてみたのですが、うまくEventTriggerに反映することができません。
他サイト様で、ボタンを長押しすることでオブジェクト移動を可能にする方法が載っていたので、そちらを参考にしましたが同じようになりませんでした。
一覧に作成した関数を表示させるためにはどうしたらいいでしょうか。
また、unityやC#に関して初心者ですので、用語の使い方などが間違っていたら申し訳ありません。その都度、訂正や補足等を追記していきます。
発生している問題・エラーメッセージ
InspectorのEventTrigger内にC#で作成した関数が表示されないです。
以下、該当箇所のスクリーンショットです。
エラーメッセージ
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class move : MonoBehaviour { GameObject player; //boolはtrueかfalseの二択をつける型!覚える! //右押してない時は偽 bool right = false; //左推してない時は偽 bool left = false; // Start is called before the first frame update void Start() { } // Update is called once per frame public void Update() { if (right) { goright(); //右に動かすメソッドの呼び出し } else if (left) { goleft(); //左に動かすメソッドの呼び出し } else { transform.rotation = Quaternion.Euler(0, 0, 0); //ボタンを推していない時は元の角度に戻す } } public void rPushDown() { //右ボタンを押している間は真 right = true; } public void rPushUp() { //右ボタンを押していない時は偽 right = false; } public void lPushDown() { //左ボタンを押している間は真 left = true; } public void lPushUp() { //左ボタンを押していない間は偽 left = false; } public void goright() { //アームの位置が5.0f以下の時、画面からはみ出さない場合の条件 if (transform.position.x <= 5.0f) { transform.position += new Vector3(5.0f * Time.deltaTime, 0, 0); //アームをx軸方向に秒速5.0で動かす } } public void goleft() { //-5.0f以上の時の条件 if (transform.position.x >= -5.0f) { transform.position += new Vector3(-5.0f * TimedeltaTime, 0, 0); } } }
試したこと
補足情報(FW/ツールのバージョンなど)
https://qiita.com/netty/items/66284cbb2bb1cd42a486
参考にさせていただいたサイト様です。