したがって、「タワー」を生成する unity 2D である種のボタン (UI の有無にかかわらず) を作成し、それを目的の場所にドラッグしたいと考えています。
スクリプトのドラッグ スクリプトは次のとおりです。
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(BoxCollider2D))]
public class DragEnemy : MonoBehaviour
{
private Vector3 screenPoint;
private Vector3 offset;
void OnMouseDown()
{
offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
}
void OnMouseDrag()
{
Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
transform.position = curPosition;
}
}
通常、タワーを配置する場所は決まっていますが、プレイヤーがより細かく制御できるように、それらをボタンとして作成したいと考えています。私はチュートリアルに従っているので、コードを理解するのに役立つかどうかはここにあります.
http://www.raywenderlich.com/107525/create-tower-defense-game-unity-part-1
私がやっていることは、UI 画像を作成し、その画像をそれらのオープンスポット (または私の画像) に設定してから、Place Monster スクリプト (チュートリアルのスペースなしを参照) と円コライダーを追加することですが、うまくいきません。クリックでモンスターをスポーンさせてから、敵を撃つ場所にモンスターをドラッグしたい。次に、元のようにパブリック ゲーム オブジェクトをスポーンしたいモンスター (この場合はドラッグ スクリプトを持つもの) に設定し、魔法を期待します。