前提・実現したいこと
Unity3Dでゲームを作成しています。
複数オブジェクトが配置されている中で、選択したオブジェクトだけ移動させようとしていまして、その途中でEvent TriggerのPointer Clickを使用中、if文が機能するところとしないところがありました。
問題解決もしくは、オブジェクトが複数ある状態で任意にクリックしたオブジェクトだけキーボードで操作できる方法をご存知の方がいらっしゃいましたら、何卒アドバイスよろしくお願いいたします。
発生している問題・エラーメッセージ
if文内が実行されないところがある。
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Touch : MonoBehaviour { public void Scale(){//Event Triggerで実行する関数 int i = 1; if(i==1){//scaleが(1,1,1)のとき this.transform.localScale = new Vector3(2, 2, 2);//大きさ2倍 this.transform.Translate(1, 1, 41);//座標修正 if (Input.GetKeyDown(KeyCode.LeftArrow)) this.transform.Translate(1, 0, 0);//問題個所 if (Input.GetKeyDown(KeyCode.RightArrow)) this.transform.Translate(-1, 0, 0);//問題個所 if (Input.GetKeyDown(KeyCode.UpArrow)) this.transform.Translate(0, 0, -1);//問題個所 if (Input.GetKeyDown(KeyCode.DownArrow)) this.transform.Translate(0, 0, 1); //問題個所 }else{//scaleが(1,1,1)じゃないとき this.transform.localScale = new Vector3(1, 1, 1);//scaleを戻す this.transform.Translate(-1, -1, -41);//座標修正 } i*= -1; } }
試したこと
Event Triggerを詳しく調べましたがわかりませんでした。
補足情報(FW/ツールのバージョンなど)
Unity 2018.2.16f1 Personal
回答1件
あなたの回答
tips
プレビュー