今日も元気にUnityしていますか?あきです。
今回は、マウスカーソルに合わせて弾を発射させるためのコードを共有します。
public class Bullet : MonoBehaviour
{
//弾を格納
public GameObject bullet;
//弾の速度
public float bulletSpeed;
private void Update()
{
if(Input.GetMouseButtonDown(0))
{
//弾を生成する
GameObject bulletClone = Instantiate(
bullet,
transform.position,
Quaternion.identity);
//クリックした座標を取得する
Vector3 worldMousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
//「向き」を生成
Vector3 bulletForward = Vector3.Scale((worldMousePos - transform.position),new Vector3(1,1,0)).normalized;
//速度を与える
bulletClone.GetComponent<Rigidbody2D>().velocity
= bulletForward * bulletSpeed;
}
}
}
「 Vector3 worldMousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);」のところでは、スクリーン座標からワールド座標に変換しています。
コメント