unity初心者です
キューブを自動でランダムに生成し、落ちてくるようにしました。
そのキューブをマウスでスリックされたときにクリックされた場所に移動させたいと思っています。
if (Input.GetMouseButtonDown(0))
{
Vector3 pos1 = Input.mousePosition;
pos1.z = 30;
Vector3 pos2 = Camera.main.ScreenToWorldPoint(pos1);
pos2.y = transform.position.y;
transform.position = pos2;
自動生成され、落ちてくるキューブに上のスクリプトを適用することで
移動はできるようになったのですが、z軸の方向への移動ができません。
z=30で固定しているからできないのは当たり前だと思い、
そこの文を消して実行すると、クリックしたとたんに消えてしまいました。
y軸はクリックされても移動しないで落下を阻害しないようにしています。
どうすれば、落下中にクリックした場所への移動ができるようになるんでしょうか?
ご教授お願いします。
回答ありがとうございます。追記です。
他の方法を試そうと思い少し挑戦してみました。
動かしたいキューブとは別に、パネルのようなものを用意して
そのパネルをクリックしたときのy軸をキューブのz軸に、
パネルをクリックしたときのx軸を同じくキューブのx軸に対して動かせないかと思っています。
前回はキューブはプレハブ化してクリックされたときの動きはキューブにスクリプトとして適用しており、それをGameControllerというスクリプトで自動生成していました。
今回新しくパネルを作ってそれにスクリプトを作ってクリックされたときにキューブを取得して動かそうと思い調べたのですが、いまいちコードの書き方がわかりません。
パネルにスクリプトを適用してそこからクリックを検出してy軸x軸をキューブのz軸x軸にしてキューブを動かすのがいいのか、
キューブにスクリプトを適用してパネルがクリックされたことを検出してクリックされたy軸x軸を自分のz軸x軸に変えて動かす方がいいんでしょうか?
あと、パネルのy軸をそのままキューブのz軸にするとなると
パネルのy軸(xyzすべて)の基準も変えなければいけないような気がします。
調べたところRayやTagでなんとかできそうだったのですが、
上手くできず進展しませんでした。
再度、ご教授いただけるとありがたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。