クリックした場所にオブジェクトを表示するプログラム。
ChatGPT-4で出力したコードに、少し改変を加えたものです。
格子グリッドに沿わせる方法、アイソメトリックグリッドに沿わせる方法はそれぞれ以下:
(格子グリッド版)
tomo-mana.hatenablog.com
(アイソメトリックグリッド版)
tomo-mana.hatenablog.com
コード
AddGameObjectOnClick.cs
using UnityEngine; // ChatGPT-4 2023/5/8 // 任意の場所にオブジェクトを配置(座標フリー) public class AddGameObjectOnClick : MonoBehaviour { public GameObject circlePrefab; void Update() { if (Input.GetMouseButtonDown(0)) { Vector3 position = Camera.main.ScreenToWorldPoint(Input.mousePosition); position.z = 0f; GameObject newCircle = Instantiate(circlePrefab, position, Quaternion.identity); // Do something with newCircle here, if needed } } }
プレハブ(Prefab)
スプライトで作ったプレハブを用意します。UGUIコンポーネント(Imageなど)では動作しません。
Hierarchyウィンドウで スプライト(ここでは仮に 2D Objects → Sprites→Circle)を作成し、
作成されたゲームオブジェクトをProjectフォルダにドラッグ&ドロップします。
作成したプレハブを、先ほどのコンポーネントにアタッチします。
circlePrefabという名前ですが、任意のスプライトのPrefabで動作します。
動作例
クリックした場所にオブジェクトを表示してくれます。
youtu.be