[SUONO] Ciao di nuovo.
In questo video andremo a fai girare il nostro giocatore, [SOUND]
in modo che possiamo iniziare ad assomigliare una vera nave spaziale cresciuta
Ok, facciamo girare il nostro giocatore!
La prima cosa da fare in questo processo è quello di costruire noi stessi un
proiettile e che sarà la vostra sfida, imposta il tuo proiettile.
Creare un prefabbricato laser, quindi avrai bisogno di uno sprite da usare come laser.
E poi per creare un prefabbricato, dovrai creare una
nuova variabile nel lettore. script cs da archiviare un riferimento al prefabbricato del laser.
E poi collegare il prefabbricato Laser, Ho appena notato per
quelli di voi là fuori che sono gli sticklers per le maiuscole come sono, eccoci.
[LAUGH] Fai quel cambiamento, quindi non ti sta facendo impazzire.
Okay, Laser, con una capitale L prefabbricata.
Collegare il prefabbricato Laser al giocatore prefabbricato.
Quindi l'abbiamo fatto alcune volte, dovrebbe essere semplice.
Se la mia descrizione è un po ' confondere,
quindi prenditi il ​​tuo tempo, guardalo, leggilo, pensaci.
Ma dovrai creare un prefabbricato.
Devi mettere un po 'di codice, solo una variabile nel Player. cs, e quindi per
collegare i due insieme.
Quindi metti in pausa il video e Affronta questa sfida ora, se vuoi.
Ok, allora troveremo il nostro prefabbricato Laser, il
nostro Laser Sprite da dentro il pacchetto Kenney Asset.
E sai cosa farò?
Mi dà fastidio che sia giusto nel mezzo del mio patrimonio
qui, è un po 'piccolo sul lato.
Ho intenzione di rinominarlo.
Questo è un po 'goffo, non devi seguirlo ma
lo chiamerò z, quindi è sicuramente la fine.
E lo chiamerò Kenney Assets, Chiamalo con il suo nome.
Chiama una cosa, dico io.
E ora starà solo seduto lì e mentre compilo la mia cartella dei
beni, so che sarà alla fine.
Non mi sto riferendo ad esso, sto solo afferrando cose da esso ogni volta che ne ho bisogno.
E cosa ho intenzione di afferrare in questo momento è di andare in PNG trovare nei
miei PNG qui, un po 'di più schermo immobiliare, per favore.
Trova i laser, vado per [SOUND] laserBlue03, trascinalo
nei miei Sprites, perchè dirò, sto usando questo.
Chiudere le risorse di Kenney, stiamo bene lì.
E puoi vedere nei miei sprite, Ho un nuovo laser di fantasia Blue, eccellente.
Lo trascinerò.
In primo luogo trascinerò la mia finestra un po 'così ottenere un po 'più spazio sulla scena.
Trascinalo nella mia gerarchia, si chiama Laser blue.
Lo cambierò al laser Player, Lettore laser, fantastico.
E questo ora è un lettore laser.
Se guardo a che punto è nella mia scena, Farò clic su W.
Puoi vedere che è proprio nel mezzo, ed eccellente
Ora che ho creato un gioco oggetto che è il lettore
laser, posso trascinarlo nelle mie risorse, Non ho ancora una cartella prefabbricata.
Okay, diamo un nome deliberativo e piegando
e riordinando al momento.
Quindi, cartella, chiameremo questo prefabbricato, è lì che andranno i nostri prefabbricati.
Mentre sono qui, Ho intenzione di trascinare il mio giocatore, aprirlo, trascinare
il mio giocatore prefabbricato al laser.
Ora abbiamo un prefabbricato.
Inoltre, mentre sono qui, trascina il giocatore verso il basso, trasformalo in un prefabbricato.
Dovrebbe sempre fare tutto un prefabbricato se puoi.
Trascina il nemico verso il basso e trascina la tela verso il basso.
Il sistema degli eventi di cui non ci preoccuperemo.
E lo sfondo dello spazio alto, non è il nome più bello.
Chiamerò questo blu sfondo giusto per rinominarlo.
Sfondo di Blackground [LAUGH], Rick, okay.
Sfondo blu, trascinalo sopra e anche la fotocamera principale.
E posso vedere dov'è ancora chiamato scena campione.
Fare clic con il tasto destro sulla scena di esempio.
Ora devi trovare il nostro patrimonio, nelle scene, fai clic con il tasto destro del mouse su
Sample scene, rinomina e chiameremo questo solo Game, Penso che per ora sia bello.
Va bene, quindi salva.
Quindi ho creato alcuni prefabbricati, abbiamo la nostra cartella prefabbricata.
Abbiamo il nostro laserbeam qui, stiamo chiamando Player laser per il momento,
tutto è buono.
Ora, per il nostro giocatore, troviamo il nostro script del giocatore.
Apri quel copione del Giocatore tutto, Al momento ho Visual Studio aperto.
Quindi prenditi un momento per aprirlo.
In cima alla nostra sceneggiatura dove abbiamo i nostri
parametri, inserirò questo qui, questo è i nostri parametri di configurazione.
Ok, non devi metterlo quella voce in là, ma trovo
che ci aiuta a mantenere cose ben raggruppate.
Creeremo una variabile, SerializeField,
non serializzabile, Serlializefield.
Eccellente, e sarà di tipo, ora vediamo, di che tipo è un prefabbricato?
Un prefabbricato è un GameObject, quindi GameObject, e
lo chiamerò laserPrefab, solo per essere molto chiaro è il nostro prefabbricato laser.
Salva come facciamo noi.
Eccellente, quindi abbiamo il nostro laser prefabbricato.
L'ultimo passo nella sfida che ho dato a voi è quello di trovare i prefabbricati
e collegare i nostri prefabbricati a prefabbricati.
Quindi non ho bisogno di questo lettore laser ora è nella mia scena.
Posso cancellare quel cuz Ho un prefabbricato e posso
facilmente far cadere un nuovo prefabbricato torna nella mia scena ogni volta che mi piace.
Troverò il giocatore.
Il giocatore dovrebbe ora avere un prefabbricato laser vuoto,
clicca sul selettore, trova il nostro giocatore laser e ora l'abbiamo collegato.
Non faremo ancora niente.
Ma abbiamo dato con successo il nostro Player a Laser che possiamo generare.
Giusto, quindi come lo generiamo?
Come possiamo creare un'istanza del nostro Laser?
Bene, prima di tutto abbiamo bisogno di, nel nostro metodo di aggiornamento, per creare un metodo di fuoco.
Fuoco(); mentre io sono qui, Non mi piace questo flusso.
Mi piace poterlo fare vedi il mio metodo di avvio
e poi il mio metodo di aggiornamento uno dopo l'altro.
E non ci stiamo toccando il SetUpMoveBoundaries davvero più.
Quindi metterò in evidenza tutto questo, tagliare, trascinare, andare
fino in fondo il fondo dei miei script.
Dare un po 'di spazio.
Impostazione del ritmo e i confini del movimento di installazione sono
laggiù, felicemente in giro da solo.
Posso anche fare clic sul piccolo cosa selector qui per chiudere
così non sto guardando.
Se passi il mouse sui tre punti, darti un po 'di una miniatura di ciò
che è all'interno di questo metodo o di cosa c'è dentro la cosa che abbiamo chiuso.
Ok, sto solo riordinando le cose un po 'qui.
È un po 'il tema di questo video, non è vero?
Riordina le cose.
Quindi abbiamo il nostro metodo di fuoco, fai clic con il pulsante destro
del mouse su Azioni rapide per generare il metodo, proprio sotto, vedremo il fuoco.
Elimina l'eccezione di lancio segnaposto, e ora possiamo
dire cosa succede quando spariamo, e come fa il fuoco?
Come spariamo in primo luogo?
Bene, sarà così un input dal giocatore.
E quando facciamo l'input, qualcosa lo farà capita, quindi sembra una condizione
condizionale, una condizione.
Se affermazione, quindi se (Input. useremo GetButtonDown).
GetButtonDown, qual è il pulsante che verrà utilizzato
se torno a Unity nella modifica in alto.
Impostazioni del progetto e input come facciamo prima senza asse quando
stiamo facendo orizzontale e verticale.
Vedete c'è un'opzione Fire1 qui.
Fondamentalmente, dicendo che possiamo Opzione fuoco numero uno,
c'è anche un'opzione Fuoco numero due e tre.
Usiamo Fire1, al momento il pulsante, abbiamo un pulsante positivo
che significa fare la cosa, controllo di sinistra.
Mentre sono qui, lo cambierò space cuz Voglio sparare con la mia barra spaziatrice.
Possiamo anche avere un sostituto pulsante positivo.
Qui abbiamo un mouse, quindi al momento, così puoi usare la tastiera e il mouse.
Cerchiamo il nostro altro Fire1 qui, È impostato per utilizzare il pulsante del joystick 0.
Quindi al momento abbiamo impostato per tastiera, mouse e
joystick, che è bello.
E voglio solo cambiare da Ctrl nello spazio per il pulsante che utilizzo.
Mi piace Fire1, questo è il nome del
nostro asse copia nuovamente nel nostro script e all'interno di citazioni GetButtonDown e quindi incollare in Fire1.
Quindi cosa succede quando siamo spingendo verso il basso Fire1, nel nostro caso Fire1 è la barra spaziatrice
o il mouse sinistro pulsante, beh, dacci una linea in più.
Apri le nostre parentesi graffe, vogliamo istanziare.
Quindi vogliamo creare qualcosa.
Creeremo o istanziamo il nostro Prefab, il nostro laser che abbiamo appena creato.
Quindi diremo che è un'istanza, e quindi possiamo vedere che c'è
una tonnellata di opzioni per come istanziamo.
Quello che faremo è dire, qual è la cosa che stiamo creando?
Il laserPrefab, e allora dove vogliamo che sia?
Vogliamo che sia al momento dove il giocatore è, quindi trasformati. posizione.
Potremmo aver bisogno di compensarlo un po '.
Se sono stati ingranditi più vicino, potresti vedere che
sta girando dal centro del giocatore.
Ma per ora, vedremo come va.
Probabilmente si sta muovendo abbastanza rapidamente e non lo noteremo.
Quindi non dobbiamo aggiungere un offset solo al momento.
E poi virgola, e questo è dove dobbiamo inserire la rotazione.
Ora stiamo mettendo in Quaternion, Quaternion. identità, che fondamentalmente sta dicendo, usa
semplicemente la rotazione che hai.
Non abbiamo bisogno di applicare alcuno rotazione sopra quella superiore.
È così che diciamo, solo
senza rotazione, grazie mille, Quaternion. identità e quindi punto e virgola.
Salviamo, saliamo in Unity, e guarda cosa farà per noi.
Clicca su Gioca.
Ok, dai un po 'più
spazio alla scena qui, mentre mi muovo quando tengo giù, se lo tengo, non succede nulla.
Se tocco, istanzia questi raggi laser, cool!
Ora, non gli abbiamo detto di fare nulla.
Non abbiamo detto, andare in volo, [SUONO] sullo schermo.
Non abbiamo nemmeno detto di farlo un rumore [SOUND] ancora
solo per cui non succederà solo per il momento.
Se clicchiamo sul nostro Laser, il primo
cosa che dobbiamo fare è darci un meccanismo con cui spingerlo sullo schermo.
Quel meccanismo è un corpo rigido.
I corpi rigidi sono importanti se noi voglio muovere
qualcosa in giro, quindi è un corpo rigido, ho già abbiamo digitato un corpo rigido 2D che applichiamo.
Ok, e poi di nuovo nel nostro giocatore. cs, sotto il nostro Instantiate, abbiamo bisogno fare qualcosa con
il nostro laserBeam.
Bene, al momento quando viene istanziato, viene istanziato
come un oggetto.
Vogliamo che sia un oggetto di gioco così
che quindi abbiamo una maniglia o un riferimento o un modo per fare qualcosa di più con la cosa che abbiamo appena istanziato.
Quindi creeremo la nostra maniglia dicendo di creare una nuova
variabile locale di tipo GameObject che noi chiamerà Laser = questa istanza.
E alla fine vogliamo dire come un GameObject, per rendere molto chiaro
che stiamo creando in questo modo, costruendo questo come un GameObject.
Ora, questa è una grande vecchia linea.
Quello che farò è mettere ognuno di questi questo parametro sulla sua stessa linea.
Puoi farlo come vuoi, ne abbiamo già parlato prima.
L'unità non importa, non si preoccupa dello spazio bianco.
Ma questo penso, come su quell'altro, nah lo metteremo qui.
Va bene, sì, okay.
Quindi non vogliamo andare fino in
fondo oltre a questo lato della cosa, diventa un po 'troppo lungo.
E se dovessi fare lo zoom un po ', ragazzi, non sarebbe in grado di vederlo affatto.
Salvalo.
Così ora abbiamo cambiato questo in modo che è un oggetto di gioco che stiamo creando un'istanza.
Dobbiamo anche dire di andiamo sposta questo GameObject e il
GameObject è laser, ma non lo faremo.
Bene, prima, dovremo ottenere il componente e il
componente a cui siamo interessati è il Rigidbody2D, corretto.
Cosa dobbiamo fare con il Rigidbody2D?
Lo abbiamo già fatto, dobbiamo dargli un po 'di velocità.
La velocità sarà cosa?
Beh, sarà un nuovo
Vector2 E poi il Vector2 lo farà essere alla ricerca di una X e una Y.
La X è sinistra-destra.
Non abbiamo bisogno di fare nulla lì così 0.
E poi la Y, vogliamo darla una sorta di velocità che possiamo sintonizzare.
Quindi chiameremo questa una nuova variabile che si chiamerà projectileSpeed?
Sì, proiettile Speed ​​credo sia buono.
Non l'abbiamo ancora creato quindi ho intenzione di copiare questo.
Salta in cima dove abbiamo il
nostro parametri di configurazione serializzati, non serializzati.
Perché lo faccio ogni volta, scusa.
SerializeField, questo sarà di
tipo float e incolla nel projectileSpeed ​​;.
Quindi questa è la nostra velocità di proiettile, Sto inizializzando
questo a qualcosa così non è solo seduto lì a 0.
Inizializzerò questo a 10f.
Non ho idea, ho solo una supposizione.
Metti la f lì, perché è un caso fluttuante.
Salva tutto, dai un'occhiata per assicurarsi che questo sembra freddo.
Stiamo creando un'istanza e poi lo siamo dicendogli di avere un po 'di velocità.
Salva, torna in Unity, fai clic
su Riproduci e qualsiasi cosa abbiamo.
Ok, mentre sparo spingendo la mia barra spaziatrice, possiamo vedere, naturalmente, questo tipo
di I'm lobing alcuni graniti no esattamente quello che voglio fare
Quindi diamo un'occhiata a il corpo rigido dei
proiettili, ci sono due modi per risolvere questo.
Se volessimo andarcene il tipo di corpo è dinamico,
quindi potremmo avere un po 'di fisica applicato ai nostri raggi laser.
Potresti volerlo fare, allora diamo un'occhiata.
Abbiamo un po 'di resistenza lineare, lo metteremo a 0.
Non vogliamo alcuna resistenza, e anche noi non vogliamo alcuna gravità.
Quindi questo è dove andrò scavalcare la gravità globale
e non dire gravità sui nostri laser, grazie mille.
E probabilmente il modo migliore per
farlo sarebbe solo per cambiare il tipo di corpo in cinematica.
In questo modo non avremo alcuna gravità applicare al nostro corpo rigido a tutti.
Dimmi, hai appena cambiato la tua dal tipo di corpo alla
cinematica, ora fai clic su Gioca dovrebbe andare [SUONO].
Bello e bene, io dico che non lo siamo facendo ancora un effetto sonoro.
Quindi potrebbe andare [SUONO] o andate silenziosamente in lontananza.
Sembra molto buono, un ultimo consiglio Lo farò, clicca
sul mio giocatore e trova la velocità del proiettile.
Aumentalo a 20 per ora.
Puoi vedere che è audace, ciò significa che non è applicato al prefabbricato.
Lo applicheremo al prefabbricato, clicca su Gioca,
questo dovrebbe andare a volare fuori dallo schermo.
Bello, penso che sia una buona velocità per il nostro laser al momento.
Ora noti se tieni premuto lo spazio, o qualsiasi cosa tu
abbia detto che vuoi che il fuoco sia, si spara solo una volta, perché è sul tasto giù solo una volta.
Ora, se vogliamo che spari partite che abbiamo, tocca, tocca.
Indietro nel giorno, quando ero un ragazzino, era
così che dovevamo giocare ai videogiochi.
Tocca, tocca, tocca, tocca, perchè qualcuno pensava che sarebbe divertente da fare.
Non è più divertente farlo, vogliamo che il giocatore
sia tenuto premuto e che i nostri laser scoccino come se stessimo toccando.
E questo sarà l'argomento del prossimo video.
Ottimo lavoro in questo video e ci
vedremo quando parliamo sulle coroutine nel prossimo video.