Question by 
               IsaacHoward · Mar 10, 2016 at 04:58 AM · 
                c#unity 5bullet  
              
 
              How do i get my bullet to shoot where my mouse is pointed and at the same constant speed. unity 5 c# line 60
using UnityEngine; using System.Collections;
public class Bullet : MonoBehaviour {
 public Camera camera;               // camera object
 private float speed = 4f;           // bullet speed
 private Vector2 clickPos;
 private Vector2 testSpeed;  // bullet direction
 private Vector3 shotDirection;
 //public int damage = 10;
 public GameObject bulletHitFX;
 public GameObject splashDamage;
 //public bool isPoison = false;
 //public float poisonDamage = 40;
 public Collider2D bulletTrigger;
 public Rigidbody2D RB2D;
 void Start()
 {
   ;
     bulletTrigger.enabled = false;
     GameObject gun = GameObject.Find("Player");
     Gun gunScript = gun.GetComponent<Gun>();
     camera = (Camera)GameObject.FindObjectOfType(typeof(Camera)); // get the camera
     // get world location of click
     clickPos = camera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y,0));
   //  testSpeed = new Vector3(0, 0, 0);
     shotDirection = (clickPos -  ((Vector2)transform.position));
     Destroy(gameObject, 2); // give bullet 2 seconds lifetime
  
 }
 void Update()
 {
    
     GameObject gun = GameObject.Find("Player");
     Gun gunScript = gun.GetComponent<Gun>();
   
     if(gunScript.isCharged == true) //if charging hold fire
     {
         transform.position = transform.position;
         //damage = 50;
         speed = 6;
     }
     else
     {
         //damage = 10;
         speed = 4;
     }
    if(gunScript.isShooting == false)
     {
         bulletTrigger.enabled = true;
         Debug.Log(clickPos);
         GetComponent<Rigidbody2D>().AddForce(clickPos , ForceMode2D.Impulse); //FIXXXXXXXXX HERE
         Debug.Log(transform.position);
     }
     //// move the bullet in the direction
     //if (gunScript.shotCount == 5)   //CANCER
     //{
     //    transform.position = transform.position + shotDirection * speed * Time.deltaTime;
     //    damage = 2;
     //    speed = 2;
     //    isPoison = true;
     //}
 }
   
 
 void OnTriggerEnter2D(Collider2D other)
 {
  
     if (other.gameObject.CompareTag("Enemy"))
     {
         GameObject gun = GameObject.Find("Player");
         Gun gunScript = gun.GetComponent<Gun>();
         Instantiate(bulletHitFX, transform.position, transform.rotation);
         if (gunScript.plasmaPerkLevel == 1 && gunScript.enabledGun == "Plasma")
         {
             Instantiate(splashDamage, transform.position, transform.rotation);
         }
         Destroy(gameObject);
     }
     if (other.gameObject.CompareTag("Ground"))
     {
         GameObject gun = GameObject.Find("Player");
         Gun gunScript = gun.GetComponent<Gun>();
         Instantiate(bulletHitFX, transform.position, transform.rotation);
         if (gunScript.plasmaPerkLevel == 1 && gunScript.enabledGun == "Plasma")
         {
             Instantiate(splashDamage, transform.position, transform.rotation);
         }
         Destroy(gameObject);
     }
 }
 
               }
               Comment
              
 
               
              Your answer
 
             Follow this Question
Related Questions
Bullet spawning at high Player speed 1 Answer
Bullet to Mouse Position? 1 Answer
cannot be an iterator block because `void' is not an iterator interface type 1 Answer
AIPlayer code example needed 0 Answers
ios app crashes on start 0 Answers