Question by
We4Kingz1 · Jan 11, 2016 at 03:42 PM ·
raycasttop down shooter
Why is my raycast randomly not registering?
I'm making a top down shooter, I am using a raycast to find out if I can shoot an enemy. I am testing on a still cube. If I am standing in a certain area it works, but other areas seem to break the script. CAn someone help me. using UnityEngine; using System.Collections;
public class Player_Movement : MonoBehaviour {
public int gunRange = 10;
public float speed = 10;
public Transform lineStart, lineEnd;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void FixedUpdate () {
//Aim player at mouse
//which direction is up
Vector3 upAxis = new Vector3(0,0,-1);
Vector3 mouseScreenPosition = Input.mousePosition;
//set mouses z to your targets
mouseScreenPosition.z = transform.position.z;
Vector3 mouseWorldSpace = Camera.main.ScreenToWorldPoint(mouseScreenPosition);
transform.LookAt(mouseWorldSpace, upAxis);
//zero out all rotations except the axis I want
transform.eulerAngles = new Vector3(0,0,-transform.eulerAngles.z);
Debug.DrawLine (lineStart.position, lineEnd.position);
//moves player forwawd
if (Input.GetMouseButton (0)) {
transform.Translate (Vector2.down * Time.deltaTime * speed);
}
//test to see if hitting enemy
if (Physics.Raycast (lineStart.position, lineEnd.position) && Input.GetMouseButton(1)) {
Debug.Log ("Shot enemy");
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Raycast2D don't hit anything below 0 Answers
Top Down Raycast 0 Answers
2D TDS Raycast: Drawray vs Line Renderer. 0 Answers
I can't get Physic.Raycast to work,My Physics.Raycast don't work 0 Answers
Touchscreens like in the game Prey 0 Answers