JUMPSCARE (con immagine)

Buonasera e scusatemi per la mia assenza.
In questo tutorial impareremo a fare apparire un immagine durante il gioco all'entrata in un Trigger o semplicemente dopo un tempo determinato dall'avvio del gioco.
Inanzitutto dovremo avere la nostra immagine, per aggiungerla:
Component>Add Other> GUITexture.
La GUITexture è una immagine visibile solamente nella finestra di gioco alla quale si potrà assegnare una texture spaventosa, a vostra scelta. Per aggiungere la texture (che di default sarà il logo e la scritta di Unity3d) trascinate dagli assets la texture per poi metterla nel box apposito.
Potrete cambiare inoltre la posizione e la scala della texture nell'are "Pixel Inset".


Una volta fatto ciò, passiamo allo script:

#pragma strict

var texture : GUITexture;
var suono : AudioClip;
var questotriggerqua : GameObject;

function Start () {
texture.enabled = false;
}

function OnTriggerEnter () {
texture.enabled = true;
audio.PlayOneShot(suono);
yield WaitForSeconds(1);
texture.enabled = false;
questotriggerqua.SetActive(false);
}

Assegnate lo script al Trigger che attiverà tutta la procedura e mettete nel box "texture" la GUITexture che avete aggiunto prima.
Per far sentire un suono all'apparizione dell'immagine, mettete nel box "suono" il suono scelto e aggiungete il componente AudioSource nell'Inspector del Trigger.
Collocate ancora il suono prescelto nel box apposito dell'AudioSource e togliete la spunta dal "PlayOnAwake".
Nello script c'è scritto che l'immagine apparirà e, dopo un secondo, sparirà. Per cambiare il valore del tempo della presenza dell'immagine nel gioco, cambiate il valore nelle parentesi dopo "yield WaitForSeconds" (ricordatevi che per inserire un numero decimale la divisione fra interi e decimali non dovrà essere una virgola, bensì un punto).
Ho messo anche la variabile "questotriggerqua" per far si che, una volta apparsa l'immagine, non riappaia in caso l'FPS rientrasse nel Trigger.

Il secondo modo è molto più semplice, basterà fare uno script scrivendo dopo quanto tempo apparirà l'immagine e quella apparirà in zone diverse del gioco a seconda dei movimenti del giocatore.

#pragma strict

var immagine : GUITexture;
var suono : AudioClip;

function Star () {
immagine.enabled = false;
}

function Update () {
yield WaitForSeconds(60);
immagine.enabled = true;
audio.PlayOneShot(suono);
yield WaitForSeconds(1);
immagine.enabled = false;
}

La procedura per le variabili è la stessa di prima, ma lo script andrà assegnato alla Main Camera dell'FPS, così come l'AudioSource.

NON ESITATE A CHIEDERE IN CASO DI BISOGNO!

1 commento:

  1. Ciao, innanzitutto grazie per il tutorial. Purtroppo non sono riuscito a fare quello che volevo. Sto cercando di ottenere un effetto per cui avvicinandomi ad un oggetto, sulla schermata del mio gioco appare un'immagine che poi scompare allontanandomi dall'oggetto. Riusciresti a darmi una mano? Grazie!!!!

    RispondiElimina