前提・実現したいこと
2Dのシューティングゲームを作っている最中、タップ(クリック)している間のみプレイヤーとタップ(クリック)している座標の動きを対応させるというコードを書いたのですが、タップ(クリック)したとき、そのときのプレイヤーの座標から計算するのではなく、プレイヤーの座標が(0,0)に移動して、そこの座標から計算が始まってしまいます。どのように書けばうまく動いてくれるのでしょうか。ご教授よろしくお願いします。
該当のソースコード
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class player : MonoBehaviour { 6 7 Vector2 mousePos; 8 Vector2 mousePosMove; 9 10 void Start () { 11 } 12 13 void Update () { 14 //プレイヤーの座標とタップしている座標の動きを対応させる 15 if (Input.GetMouseButtonDown(0)) 16 { 17 this.mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); 18 } 19 20 if (Input.GetMouseButton(0)) 21 { 22 this.mousePosMove = Camera.main.ScreenToWorldPoint(Input.mousePosition); 23 } 24 float mouse_x = this.mousePosMove.x - this.mousePos.x; 25 float mouse_y = this.mousePosMove.y - this.mousePos.y; 26 27 transform.position = (new Vector2(mouse_x, mouse_y)); 28 } 29} 30
補足情報(FW/ツールのバージョンなど)
OS : Windown7
Unity : Unity 2018.2.7f1 Personal
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。