Unity 2D A* 寻路 仅移动 X 轴
Unity 2D A* Pathfinding Move X axis ONLY
我是 A* Pathfinding 的新手,我想让敌人 ai 只在 x 轴上移动。我怎样才能做到这一点?这是我现在得到的:
using UnityEngine;
using System.Collections;
using Pathfinding;
public class SimpleZombieAI : MonoBehaviour {
public Vector2 targetPosition;
public void Start (){
Seeker seeker = GetComponent<Seeker> ();
seeker.StartPath (transform.position, targetPosition, OnPathComplete);
}
public void OnPathComplete (Path p) {
Debug.Log ("Yay, we got a path back. Did it have an error? "+p.error);
}
}
但它进入 x 和 y,我想让它只进入 x。我希望有人能帮助我,因为我不知道从哪里 post 关于这个问题。
我假设您的 Seeker.StartPath
函数采用 Vector
参数,因此仅传递 x 值是行不通的。虽然我不认为您真的需要为一维路径使用寻路,但如果这是您想要使用的,那么您可以通过以下方式实现这一目标。
public void Start (){
Seeker seeker = GetComponent<Seeker> ();
float myY = transform.position.y;
seeker.StartPath (transform.position, new Vector2(targetPosition.x,myY), OnPathComplete);
}
这将使你的敌人沿着他们恒定的 y 值线移动,同时从他们自己的 x 坐标追逐到玩家的 x 坐标。
我是 A* Pathfinding 的新手,我想让敌人 ai 只在 x 轴上移动。我怎样才能做到这一点?这是我现在得到的:
using UnityEngine;
using System.Collections;
using Pathfinding;
public class SimpleZombieAI : MonoBehaviour {
public Vector2 targetPosition;
public void Start (){
Seeker seeker = GetComponent<Seeker> ();
seeker.StartPath (transform.position, targetPosition, OnPathComplete);
}
public void OnPathComplete (Path p) {
Debug.Log ("Yay, we got a path back. Did it have an error? "+p.error);
}
}
但它进入 x 和 y,我想让它只进入 x。我希望有人能帮助我,因为我不知道从哪里 post 关于这个问题。
我假设您的 Seeker.StartPath
函数采用 Vector
参数,因此仅传递 x 值是行不通的。虽然我不认为您真的需要为一维路径使用寻路,但如果这是您想要使用的,那么您可以通过以下方式实现这一目标。
public void Start (){
Seeker seeker = GetComponent<Seeker> ();
float myY = transform.position.y;
seeker.StartPath (transform.position, new Vector2(targetPosition.x,myY), OnPathComplete);
}
这将使你的敌人沿着他们恒定的 y 值线移动,同时从他们自己的 x 坐标追逐到玩家的 x 坐标。