前提・実現したいこと
Unityで2Dシューティングゲームを作っています。
現在vector3でplayerの位置に向かうようにしました。
敵が自動で弾をうつようにして、Playerのいた場所を一度だけ取得して、playerへ向かう様な仕様を作りたいです。
発生している問題・エラーメッセージ
敵が弾を打った時にplayerに向かわずに真ん中に集まってしまいます。
該当のソースコード
使った言語
c#
ソースコード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemybullet : MonoBehaviour
{
GameObject Player;
// public Transform Enemybullet;
public float speed = 3.0f; // 移動スピード] public Vector3 PlayerPos { get; private set; } // Start is called before the first frame update void Start() { // playerオブジェクトを取得 this.Player = GameObject.Find("Player"); GetComponent<Rigidbody2D>().velocity = new Vector2(0, speed); Destroy(gameObject, 3.0f); Vector3 PlayerPos = this.Player.transform.position; } // Update is called once per frame void Update() { // float step = speed * Time.deltaTime; //Enemybullet.transform.position = Vector3.MoveTowards(Enemybullet.transform.position, Player.transform.position,step); float ENEMY_MOVE_SPEED = 0.05f; // プレイヤーの方向に移動させる transform.position = Vector3.MoveTowards(transform.position, PlayerPos, ENEMY_MOVE_SPEED); }
}
試したこと
updeteにvector3 player pos を入れたときにずっとついてくるとうになったりしました。
補足情報(FW/ツールのバージョンなど)
unity2019.2.9f1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/22 05:39