お世話になります。
現在タッチスクリーンをタップしたらキャラクターがそのタッチした場所に移動するスマホゲームを作っています。
問題は、下記参考画像の青エリアの右辺付近をタップしたときに、
Player1が他の濃い青エリア内をタップしてもタップところに移動しないことです。
作成したスクリプトの一部:
C#
1void Update() 2 { 3 if (Input.touchCount > 0) 4 { 5 // 青エリア内のタッチしたところにPlayer1を描画 6 if (this.transform.position.y < BattleArea.myUpperSide && 7 this.transform.position.x < BattleArea.myRightSide) 8 { 9 Touch touch = Input.GetTouch(0); 10 Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position); 11 touchPosition.z = 0.0f; 12 13 // 青エリア上辺以上をタップしてもPlayer1を描画しない 14 if (touchPosition.y < BattleArea.myUpperSide && 15 this.transform.position.x < BattleArea.myRightSide) 16 { 17 this.transform.position = touchPosition; 18 } 19 } 20 } 21 }
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5namespace Common 6{ 7 public static class BattleArea 8 { 9 // 自エリア(ステージ)における各辺の座標 10 public const float myUpperSide = 217.0f; 11 public const float myRightSide = 217.0f; 12 } 13}
スクリプトのどこに問題があるか分かりません。
アドバイスをよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/21 12:35