llllllllll Posted December 8, 2014 Report Posted December 8, 2014 (edited) Hallo, Ik ben bezig met een game en heb al een schiet-script die een kogel afvuurt, een bullethole texture neerzet, maar nog geen animaties en ammo etc. Mijn vraag is of jullie me daarbij kunnen helpen Ik heb dit script van internet (de beste die bij mij werkte ) !!EDIT!! in de code staat "public float delayTime = 0.5 f" in unity staat bij mij 0.1 using UnityEngine; using System.Collections; public class Shoot : MonoBehaviour { public GameObject bullet; public GameObject bulletHole; public float delayTime = 0.5f; private float counter = 0; void FixedUpdate () { if(Input.GetKey(KeyCode.Mouse0) && counter > delayTime) { Instantiate(bullet, transform.position, transform.rotation); audio.Play(); counter = 0; RaycastHit hit; Ray ray = new Ray(transform.position, transform.forward); if(Physics.Raycast(ray, out hit, 100f)) { Instantiate(bulletHole, hit.point, Quaternion.FromToRotation(Vector3.up, hit.normal)); } } counter += Time.deltaTime; } } Het probleem is dat hij een animatie moet afspelen als hij schiet(recoil ofzoiets) Als de ammo op is, een animatie dat hij herlaad, en als je op R drukt dat hij ook een laad animatie afspeelt, en dat je ook op het scherm kan zien hoeveel ammo je nog hebt Ik vraag jullie, omdat ik zelf geen code kan (wat niet is kan altijd nog komen ), maar in mijn hoofd ziet het er zo uit: Ammo 30:30 (30 in je clip en 30 op zak) Bam bam bam (per keer dat er geschoten is, speel recoil animatie af) Ammo min het aantal keren geschoten Als de ammo 0 is (0 in je clip 30 op zak), speel animatie af van het herladen... Ammo 30 (30 in je clip 0 op zak) en misschien mogelijk ook dat je ammo kan oprapen, ook in mn hoofd: Ammo 30 (30 in je clip 0 op zak) bam bam (per keer dat er geschoten is, speel recoil animatie af) ammo 0 (0 in je clip 0 op zak) Als je door een trigger loopt met een tag Ammo, ammo is weer 30 (30 op zak en 0 in je clip) Dan herlaad je (animatie afspelen) ammo is dan 0 op zak en 30 in je clip, Dit ziet er waarschijnlijk erg warrig uit, maar ik probeer het zo goed mogelijk uit te leggen Mijn vraag aan de programmeurs hier is of ze dat misschien in het script kunnen verwerken mvg llllllllll Edited December 8, 2014 by llllllllll Quote
Ezra24rct3 Posted December 8, 2014 Report Posted December 8, 2014 (edited) Als ok thuis ben zal ik ff kijken. Heb je zelf animatie's of moet ik die zelf maken? Edited December 8, 2014 by Ezra24rct3 Quote
llllllllll Posted December 8, 2014 Author Report Posted December 8, 2014 Als ok thuis ben zal ik ff kijken. Heb je zelf animatie's of moet ik die zelf maken? De animaties heb ik zelf :-) Quote
Ezra24rct3 Posted December 8, 2014 Report Posted December 8, 2014 Oké. Mag ik de namen van de animaties en een beschrijving van waar je hem voor wilt gebruiken? Quote
llllllllll Posted December 8, 2014 Author Report Posted December 8, 2014 Oké. Mag ik de namen van de animaties en een beschrijving van waar je hem voor wilt gebruiken? Jazeker: Reloading voor het herladen Shooting voor de recoil/schieten mvg llllllllll Quote
llllllllll Posted December 10, 2014 Author Report Posted December 10, 2014 UPDATE: Ik heb nu dus een script voor een muzzle flash, maar hoe implementeer ik dat script in mn schiet script Het schietscript in C#: using UnityEngine; using System.Collections; public class Shoot : MonoBehaviour { public GameObject bullet; public GameObject bulletHole; public float delayTime = 0.5f; private float counter = 0; void FixedUpdate () { if(Input.GetKey(KeyCode.Mouse0) && counter > delayTime) { Instantiate(bullet, transform.position, transform.rotation); audio.Play(); counter = 0; RaycastHit hit; Ray ray = new Ray(transform.position, transform.forward); if(Physics.Raycast(ray, out hit, 100f)) { Instantiate(bulletHole, hit.point, Quaternion.FromToRotation(Vector3.up, hit.normal)); } } counter += Time.deltaTime; } } En het muzzleflash script in Javascript (of Unityscript): #pragma strict var muzzleFlash : Renderer; var muzzleLight : Light; function Start () { muzzleFlash.enabled = false; muzzleLight.enabled = false; } function Update() { if (Input.GetButtonDown("Fire1")) { Shoot(); } } function Shoot() { muzzleFlash.renderer.enabled = true; muzzleLight.enabled = true; yield WaitForSeconds (0.1); muzzleFlash.renderer.enabled = false; muzzleLight.enabled = false; Start(); } Ik heb zelf geen idee, dus jullie hulp is zeer dankbaar :-) mvg llllllllll Quote
Ezra24rct3 Posted December 10, 2014 Report Posted December 10, 2014 Je zal het moeten vertalen naar C#. Hoe dat moet weet ik niet, heb zelf niet veel Java ervaring, al ben ik er wel mee begonnen. Quote
llllllllll Posted December 10, 2014 Author Report Posted December 10, 2014 Je zal het moeten vertalen naar C#. Hoe dat moet weet ik niet, heb zelf niet veel Java ervaring, al ben ik er wel mee begonnen. Okey, ik zal ff kijken op internet ;-)mvg llllllllll Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.