Magazine Informatica

[UNITY3DSCRIPT] Sparo per FPS (singolo o tipo mitra)

Creato il 19 febbraio 2015 da Desktopsolution

[UNITY3DSCRIPT] Sparo per FPS (singolo o tipo mitra)

Da un pò mi sono addentrato nel mondo di Unity 3D.

Sapete, la grafica 3D mi ha sempre affascinato, sapete perché?

E' possibile, grazie alle vostre mani e alla vostra immaginazione, creare qualsiasi cosa.

Fiumi, laghi, mari, monti, pianure, persone, oggetti.

Qualsiasi cosa. Come preferite, come la desiderate.

Non è forse incredibile? [UNITY3DSCRIPT] Sparo per FPS (singolo o tipo mitra)

Oggi vi propongo uni script (lo ammetto, l'ho trovato sul web, non sono così bravo) che permette di sparare (unico colpo o tipologia mitragliatore) per dei giochi di tipo FPS, ovvero Sparatutto in terza persona.

Ecco lo script:

//the bullet we are shooting must have a rigidbody
var Bullet : Transform;
//the speed the bullet is shot at
var Speed = 16000;
//where the bullet spawns (most likely the tip of the gun)
var spawnPoint : Transform;
//if we shoot like a machinegun or not
var RapidFire = false;
//if we shoot every click or not
var SingleFire = true;
//this is only used if rapid fire is set to true
private var shooting = false;
//RateOfFire private
var Counter = Time.deltaTime;
var RateOfFire = 0.250000;

function FixedUpdate ()
{
//if single fire is set to true
if(SingleFire==true){
//we are using the left mouse button to shoot
if(Input.GetButtonUp("Fire1″)){
//we create the bullet
var shot =Instantiate(Bullet, spawnPoint.transform.position, Quaternion.identity);
//we add the speed
shot.rigidbody.AddForce(transform.forward * Speed); } }
if(RapidFire ==true){
if(Input.GetButtonDown("Fire1″)){
shooting=true;
}
if(Input.GetButtonUp("Fire1″)){
shooting=false;
}
if(shooting==true){ Counter += Time.deltaTime;
if(RateOfFire
<
Counter){
var shotRapid =Instantiate(Bullet, spawnPoint.transform.position,
Quaternion.identity);
//we add the speed
shotRapid.rigidbody.AddForce(transform.forward * Speed);
Counter=0; } } } }

E' scritto in Javascript, quindi per usarlo dovrete aprire un file .java vuoto e incollarlo dentro.

Vi spiego brevemente cosa fa.

Assegna un RigidBody al proiettile, perché è bene che sia un corpo rigido, quindi che sia sottoposto alla legge di gravità ecc., poi imposta la velocità del proiettile (variabile speed), avete la variabile RapidFire che serve a stabilire se volete un monocolpo oppure un fucile mitragliatore, lo script poi imposta di sparare con il tasto sinistro del mouse (vedere Input.GetButtonUp) ecc.

Provatelo per capire di cosa è capace!

Per dubbi o domande, scriveteci sul FORUM!


Sono presenti link non funzionanti nell'articolo? Segnalalo tramite commento oppure mandaci un Email a [email protected]
Hai bisogno di aiuto? Scrivi il tuo problema sul nostroForum, i nostri moderatori ti aiuteranno.
Perché sul Forum? - Perché è più facile da gestire molte richieste di aiuto.
Grazie della collaborazione

Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :