llllllllll Geplaatst: 8 december 2014 Rapport Geplaatst: 8 december 2014 (bewerkt) 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 Bewerkt: 8 december 2014 door llllllllll Reageren
Ezra24rct3 Geplaatst: 8 december 2014 Rapport Geplaatst: 8 december 2014 (bewerkt) Als ok thuis ben zal ik ff kijken. Heb je zelf animatie's of moet ik die zelf maken? Bewerkt: 8 december 2014 door Ezra24rct3 Reageren
llllllllll Geplaatst: 8 december 2014 Auteur Rapport Geplaatst: 8 december 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 :-) Reageren
Ezra24rct3 Geplaatst: 8 december 2014 Rapport Geplaatst: 8 december 2014 Oké. Mag ik de namen van de animaties en een beschrijving van waar je hem voor wilt gebruiken? Reageren
llllllllll Geplaatst: 8 december 2014 Auteur Rapport Geplaatst: 8 december 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 Reageren
llllllllll Geplaatst: 10 december 2014 Auteur Rapport Geplaatst: 10 december 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 Reageren
Ezra24rct3 Geplaatst: 10 december 2014 Rapport Geplaatst: 10 december 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. Reageren
llllllllll Geplaatst: 10 december 2014 Auteur Rapport Geplaatst: 10 december 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 Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.