Quantcast
Channel: Questions in topic: "gun"
Viewing all articles
Browse latest Browse all 592

Raycast shooting in the middle of the screen

$
0
0
I want my raycast shooting to be 100% accurate so it hits the middle of the map but I don't know how to do that. Here is my shooting script #pragma strict var damage:float = 38; var range = 100.0; var force = 10.0; var muzzleFlash : Renderer; var muzzleLight : Light; var UMPMenu: GUIStyle; var ReloadMenu: GUIStyle; var ReloadWarning = false; static var _UMPCanReload = false; var clipSize: int = 25; var bulletsInClip = 25; var bulletsLeft = 75; var allowfire : boolean = true; function Start (){ muzzleFlash.enabled = false; muzzleLight.enabled = false; } function Update () { if(Input.GetMouseButton(0)){ if(bulletsInClip >= 1){ if(allowfire == true){ fire(); } } } if (Input.GetKeyDown (KeyCode.R)){ if(bulletsInClip == 0){ if(bulletsLeft >= 25){ Reload(); } } } if(bulletsInClip == 0){ if(bulletsLeft >= 25){ ReloadWarning = true; } } else { ReloadWarning = false; } if(bulletsInClip == 0){ if(bulletsLeft >= 25){ _UMPCanReload = true; } } else { _UMPCanReload = false; } } function OnGUI() { if(ReloadWarning == true){ GUI.Label (Rect (Screen.width / 2.2, Screen.height / 2.5, 200, 200), "Press R to reload.", ReloadMenu); } GUI.Label (Rect (10, 650, 350, 350), "UMP .45", UMPMenu); GUI.Label (Rect (10, 700, 350, 350), bulletsInClip + " / " + bulletsLeft, UMPMenu); } function fire(){ allowfire = false; audio.Play(); bulletsInClip--; var direction = transform.TransformDirection(Vector3.forward); var hit : RaycastHit; // Did we hit anything? if (Physics.Raycast (transform.position, direction, hit, range)) { Debug.DrawRay(transform.position, direction * range); // Apply a force to the rigidbody we hit if (hit.rigidbody) hit.rigidbody.AddForceAtPosition(force * direction, hit.point); hit.collider.SendMessageUpwards("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver); } muzzleFlash.renderer.enabled = true; muzzleLight.enabled = true; yield WaitForSeconds (0.04); muzzleFlash.renderer.enabled = false; muzzleLight.enabled = false; yield WaitForSeconds(0.2); allowfire = true; } function OnTriggerEnter(hit:Collider){ if(hit.tag == "Enemy"){ hit.transform.SendMessage("Damage",damage); } } function Reload(){ allowfire = false; yield WaitForSeconds (1); bulletsInClip = clipSize; bulletsLeft = (bulletsLeft - clipSize); yield WaitForSeconds (0.3); allowfire = true; }

Viewing all articles
Browse latest Browse all 592

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>