前提・実現したいこと
unity C# Buttonをタッチ(クリック)した際にplayerの座標を調べて、
その位置にPrefabからオブジェクトを生成するスクリプトを作ろうとしたのですが。
C# using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class shot : MonoBehaviour { public GameObject BulletPrefab; Vector3 play; // Update is called once per frame void OnClick() { Vector3 play = GameObject.Find("player").transform.position; Instantiate(BulletPrefab, play, Quaternion.identity); } }
playerオブジェクトの位置を取得し、取得したのをInstantiateに代入してその位置にオブジェクトを生成したいのですが。エラーは出ていないのですがオブジェクトが生成されず、原因が把握できません。
unity、C#共に初心者で質問するのも初めてです。
不作法な点がありますが知恵を貸していただけたら幸いです。
「Buttonをタッチ(クリック)した際に」のコードは書かれていないようですが、分からないのはこの部分ですか?それともオブジェクトの生成の部分ですか?
また「上手く行かず」とはどのような状況でしょうか?(何かエラーが出ているなど)
こういうときはとりあえずDebug.Logを随所に入れてみましょう。
Instantiateの上あたりに、「Debug.Log("BulletPrefab: " + BulletPrefab + " / Vector3 play : " + play);」みたいな記述をいれて、プレハブがちゃんと入っているか、プレイヤーの座標が取れているか、そもそもこのメソッドが呼ばれているかなどを確認します。
回答1件
あなたの回答
tips
プレビュー