我一直在 Unity 中開發一款 2D 自上而下的太空射擊游戲。我目前正在撰寫敵方 AI,它將能夠跟隨玩家,同時保持距離。我遇到了一個問題,AI 總是在 Z 軸上傳送回 0,這使得敵人不可見。到目前為止,這是我的整個敵人腳本。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy : MonoBehaviour
{
float speed = 5;
float stoppingDistance = 4;
float retreatDistance = 2;
Transform player;
void Start()
{
player = GameObject.FindGameObjectWithTag("Player").transform;
}
void Update()
{
if(Vector2.Distance(transform.position, player.position) > stoppingDistance)
{
transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime);
} else if(Vector2.Distance(transform.position, player.position) < stoppingDistance && Vector2.Distance(transform.position, player.position) > retreatDistance) {
transform.position = this.transform.position;
} else if(Vector2.Distance(transform.position, player.position) < retreatDistance) {
transform.position = Vector2.MoveTowards(transform.position, player.position, -speed * Time.deltaTime);
}
}
}
謝謝!
uj5u.com熱心網友回復:
自從我完成統一以來已經有一段時間了,而且我所處的位置已經很晚了。但希望這可以幫助您走上正軌。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy : MonoBehaviour
{
public Transform Player;
float MoveSpeed = 4;
float MoveSpeed2 = MoveSpeed 2;
float MaxDist = 4;
float MinDist = 2;
void Start()
{
}
void Update()
{
transform.LookAt(Player);
if (Vector2.Distance(transform.position, Player.position) > MinDist && Vector2.Distance(transform.position, Player.position) < MaxDist)
{
//continue aproach
transform.position = transform.forward * MoveSpeed * Time.deltaTime;
} else if ( Vector2.Distance(transform.position, Player.position) >= MaxDist && Vector2.Distance(transform.position, Player.position) > MinDist )
{
// get closer
transform.position = transform.forward * MoveSpeed2 * Time.deltaTime;
}
else if(Vector2.Distance(transform.position, player.position) <= MinDist && Vector2.Distance(transform.position, Player.position) < MaxDist) {
// Retreat
transform.position = transform.backward * MoveSpeed2 * Time.deltaTime;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/408561.html
標籤:
上一篇:更新我的專案后,我在這個腳本中不斷收到Identifierexpected和Typeexpected錯誤。錯誤都在第29行
