Hello,
I have a top down 2 dimensional game and all i want to know why my code isn’t working when I play the game I know there may be something wrong with the code but, the player has to face the mouse at all times and the player fires in the mouse direction. This is my code:
using UnityEngine;
using System.Collections;
public class PlayerShooting : MonoBehaviour
{
public Rigidbody2D bulletPrefab;
public float attackSpeed = 0.5f;
public float coolDown;
public float bulletSpeed = 500;
public float yValue = 1f; // Used to make it look like it's shot from the gun itself (offset)
public float xValue = 0.2f; // Same as above
// Update is called once per frame
void Start()
{
}
void Update()
{
if (Time.time >= coolDown)
{
if (Input.GetMouseButtonDown("Fire1"))
{
Fire();
}
}
}
void Fire()
{
//Rigidbody2D bPrefab = Instantiate(bulletPrefab,transform.position,Quaternion.identity) as Rigidbody2D;
Rigidbody2D bPrefab = Instantiate(bulletPrefab, new Vector3(transform.position.x + xValue, transform.position.y + yValue, transform.position.z), transform.rotation) as Rigidbody2D;
bPrefab.GetComponent<Rigidbody2D>().AddForce(transform.up * bulletSpeed);
coolDown = Time.time + attackSpeed;
}
}
Any help is much appreciated.