- Home /
Odd outside clicking issue.
So I am making a Level like a FPS but my problem is when I click to fire, my mouse is automatically clicking over the "Pause game" button at the top of the screen. I know that this wont happen once the game is built, but I need it fixed for testing. So how do I fix that? Here are my "Mouse related" scripts.
First person controller script:
using UnityEngine; using System.Collections;
[RequireComponent (typeof(CharacterController))] public class FirstPersonController : MonoBehaviour {
public float movementSpeed = 5.0f;
public float mouseSensitivity = 5.0f;
public float jumpSpeed = 7.0f;
float verticalRotation = 0;
public float upDownRange = 60.0f;
float verticalVelocity = 0;
CharacterController characterController;
// Use this for initialization
void Start () {
Screen.lockCursor = true;
characterController = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
// Rotation
float rotLeftRight = Input.GetAxis("Mouse X") * mouseSensitivity;
transform.Rotate(0, rotLeftRight, 0);
verticalRotation -= Input.GetAxis("Mouse Y") * mouseSensitivity;
verticalRotation = Mathf.Clamp(verticalRotation, -upDownRange, upDownRange);
Camera.main.transform.localRotation = Quaternion.Euler(verticalRotation, 0, 0);
// Movement
float forwardSpeed = Input.GetAxis("Vertical") * movementSpeed;
float sideSpeed = Input.GetAxis("Horizontal") * movementSpeed;
verticalVelocity += Physics.gravity.y * Time.deltaTime;
if( characterController.isGrounded && Input.GetButton("Jump") ) {
verticalVelocity = jumpSpeed;
}
Vector3 speed = new Vector3( sideSpeed, verticalVelocity, forwardSpeed );
speed = transform.rotation * speed;
characterController.Move( speed * Time.deltaTime );
}
}
Then my Shooting script:
using UnityEngine; using System.Collections;
public class FpsShooting : MonoBehaviour {
public GameObject bullet_prefab;
float bulletImpulse = 100f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if( Input.GetButtonDown("Fire1") ) {
Camera cam = Camera.main;
GameObject thebullet = (GameObject)Instantiate(bullet_prefab, cam.transform.position, cam.transform.rotation);
thebullet.rigidbody.AddForce(cam.transform.forward * bulletImpulse, ForceMode.Impulse);
}
}
}
I just cant get the darn thing to stop clicking right over the pause button. Any answer helps.
Comment