How do I bring an instantiated projectile back towards the player if the player tells it to? Similar to a boomerang.
Hello! So I'm trying to make an object (orb), which was thrown by the player, return to the player. I can make the player throw the object just fine.
The idea is that the player holds this orb which gives them certain abilities. One of those abilities is to throw it somewhere, it stays in the place which it was thrown to, and you can either teleport to the orb or have it return to you. When it returns to you it doesn't teleport, rather it flies back to you and damages enemies in its path (not worried about damage at this moment). It works very similar to a boomerang, except the part where it stops "midair" once it reaches the max distance.
At least that's how it is supposed to work. I can only get the orb prefab to go to where I click on the screen - it refuses to move towards the player once I give the command. Also I can't figure out how to make it only go a certain distance, no matter where I click on the screen (right now it doesn't matter as much because I'm just using simple shapes to represent the sprites that the game will be using, but these shapes are definitely not to scale)
void Update()
{
if (shot == null)
{
if (Input.GetMouseButtonDown(1))
{
shot = Instantiate(orb, playerPos.position, Quaternion.identity) as GameObject;
isNotWithPlayer = true;
}
if (isNotWithPlayer == true)
{
if (Input.GetMouseButtonDown(0))
{
CheckPlayerPosition();
shot.transform.position = Vector2.MoveTowards(shot.transform.position,
playerPos.transform.position, returnSpeed * Time.deltaTime);
}
}
}
}
void CheckPlayerPosition()
{
playerPos = GameObject.Find("Player").GetComponent<Transform>();
}
I tried mimicking an AI behavior where it follows you until it is at your position (which I got working for an enemy object), but that did not work. I'm honestly stuck. Also, attached to the orb prefab is a "Projectile" script, which basically just stores the target location (which is wherever the player clicks on the screen), and then once the script has that info the projectile prefab knows where to move on the screen. If anyone can help that would be great!
Your answer
Follow this Question
Related Questions
Set Instanatiated Object's Rotation Towards Player 1 Answer
Moving a GameObject that was instantiated,Problem moving an instantiated Object. 0 Answers
2D Projectile Script Not Working 1 Answer
Super Basic 2D AI - NPC not completing MoveTowards 1 Answer
Instantiate 2D gameobject with force towards Z-Direction 0 Answers