This question was
closed Jun 12, 2021 at 05:11 PM by
NickKnack2008 for the following reason:
Fixed the issue on my own
Question by
NickKnack2008 · Jun 12, 2021 at 03:33 PM ·
pathfindingnotworking
Simple pathfinding code not working properly. (C#)
My pathfinding code for a game I'm working on isn't working properly, it starts going to the target object, but then just continues going in that direction even if I move the target object. I've checked every possible thing that could be not updating, and I'm at a loss. Here's the code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class enemyController : MonoBehaviour
{
public GameObject enemy; // Player GameObject and Enemy GameObject
public GameObject player;
private float prevDistance;
private float distance;
private float x; // X, Y, and Z of the Enemy GameObject
private float y;
private float z;
private float fakeX; // Extrapolated X, Y, and Z of the current GameObject
private float fakeY;
private float fakeZ;
Vector3 XYZ; // XYZ
Vector3 fakeXYZ; // Extrapolated XYZ
int ie;
void Start()
{
}
void Update()
{
ie = 0;
x = enemy.transform.position.x;
y = enemy.transform.position.y;
z = enemy.transform.position.z;
XYZ = new Vector3 (x,y,z);
float prevDistance = Vector3.Distance (XYZ, player.transform.position); // CUrrent distance of the Enemy from the Player
for (ie = 0; ie < 4; ie++)
{
switch (ie) // Extrapolation code
{
case 0:
fakeZ = 0.001f;
break;
case 1:
fakeZ = -0.001f;
break;
case 2:
fakeX = 0.001f;
break;
case 3:
fakeX = -0.001f;
break;
}
fakeXYZ = new Vector3 (enemy.transform.position.x + fakeX, enemy.transform.position.y, enemy.transform.position.z + fakeZ);
float distance = Vector3.Distance (fakeXYZ, player.transform.position);
if (distance > prevDistance) // If the current extrapolated direction the Enemy is going is getting it closer, go in that direction
{
transform.position = new Vector3 (fakeXYZ.x, fakeXYZ.y, fakeXYZ.x);
}
Debug.Log("PD: " + prevDistance + " D: " + distance);
}
}
}
Comment
Follow this Question
Related Questions
Clear path from A to B 4 Answers
Best Way To Setup a Waypoint-based Patrol System? 0 Answers
Pathfinding via roads 1 Answer
Enemy can't move follow the path, A* algorithm for my game 0 Answers
NavmeshAgent pathfinding with FirstPersonController 1 Answer