Shooting projectile at last mouse position
I'm currently creating a scrip that handles the projectile movement and I'm almost where I want to be. Currently the script correctly creates instantiates the projectiles, moves the projectiles towards the mouse. Currently the speed of the projectile varies based on how far or how close the player is. Another issues is that the projectiles move to cursor rather than moving to the direction of the last mouse click. My code currently looks like this:
public class LetterController : MonoBehaviour {
private List<GameObject> letters = new List<GameObject>();
public GameObject letterPrefab;
public float letterVelocity;
Vector3 direction;
void Update()
{
direction = Input.mousePosition;
direction.z = 0.0f;
direction = Camera.main.ScreenToWorldPoint(direction);
direction = direction - transform.position;
if (Input.GetMouseButtonDown(0))
{
GameObject letter = (GameObject)Instantiate(letterPrefab, transform.position,Quaternion.identity);
letters.Add(letter);
}
for (int i = 0; i < letters.Count; i++)
{
GameObject goLetter = letters[i];
if (goLetter != null)
{
goLetter.transform.Translate(direction * Time.deltaTime * letterVelocity);
Vector3 letterScreenPosition = Camera.main.WorldToScreenPoint(goLetter.transform.position);
if (letterScreenPosition.y >= Screen.height || letterScreenPosition.y <= 0 || letterScreenPosition.x >= Screen.width - 20 || letterScreenPosition.x <= -20)
{
DestroyObject(goLetter);
letters.Remove(goLetter);
}
}
}
}
}
I tried moving everything from update into a separate function called Shoot(); and called the from update. I tried putting Vector3 direction in its own Vector3 function and calling it in goLetter.transform.Translate. I also tried using LateUpdate. Nothing I've tired has made any significant changes to how projectile interacts in Unity. I'd like to have the projectiles move at a constant speed and not follow the cursor but rather travel in a straight line anyone got any clues?
Your answer
Follow this Question
Related Questions
Making GameObject move in the direction of my mouse (3d) 0 Answers
Moving around mouse 0 Answers
3rd Person Shooter Crosshair system 1 Answer
Shoot towards mouse with offset 0 Answers