Creare un gioco platform - guida per i principianti

3

Index

Tagged

Attached Files

The following files have been attached to this tutorial:

.capx

platform-tutorial-i.capx

Download now 608.15 KB

Contributors

Stats

32,853 visits, 43,474 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 16 Aug, 2014. Last updated 25 Feb, 2019

Ricorda che, per poter dire se Ti si sta muovendo in alto o in basso, dobbiamo sapere su che piano si trovava l'ultima volta che abbiamo controllato. Allora aggiungeremo un'altra variabile globale in cui registreremo il numero del piano precedente.

Add global variable: prevFloor (lascia il tipo di default come 'Number' e il valore inziale a 0).

Ogni volta che Tim cade fuori dal limite inferiore del layout, resettiamo il valore iniziale di 'prevFloor' con l'evento Player -> Is outside layout:

Azione: System -> Set value -> prevFloor: 0

Adesso possiamo fare uso di tutte queste modifiche per conferire a Tim l'appropriato numero di punti quando salta su un piano (e sta fermo su di esso). Ma come fa il nostro gioco a sapere su quale piano è appena saltato?

Bene, ricorda che abbiamo aggiunto una istanza variabile 'floor' a 'Flooring' il cui valore corrisponde al livello del piano. Così, appena il Player atterra su un piano, possiamo provare quel valore e aumentare il punteggio con il corrispondente valore della istanza variabile 'points'. Abbiamo solo bisogno di trovare su quale istanza di Flooring il Player è atterrato. Lo possiamo fare aggiungendo una seconda condizione a Player | Platform On landed event:

Clicca con il destro sulla condizionePlayer | Platform On landed e aggiungi questa condizione:

Flooring -> (Prendi) Pick nearest/furthest -> (Quale) nearest / (X) Player.X / (Y) Player.Y

Cosa ci permette di fare? Allora, come ci dice il Manuale in Come funzionano gli eventi, "le istanze coinvolte ... sono 'reclutate' per l'evento. A quel punto, le azioni sono avviate solo per le istanze considerate dalla condizione." In questo caso, significa che, ogni volta che il Player atterra, qualsiasi Flooring istanza è più vicina viene reclutata, in modo che quando aggiungiamo u sub-event 'System aggiungi Flooring.points al punteggio' (come stiamo per fare) e l'azione si avvia, il Sistema sa il corretto numero di punti da aggiungere senza che noi dobbiamo aggiungere un evento separato per ogni istanza Flooring. Questa è in parte la forza di 2.

Così adesso dobbiamo solo aggiungere le azioni addizionale che avverranno quando il Player atterra su un piano. Queste azioni saranno aggiunge come sub-event della doppia condizione Player | Platform On landed / Flooring | Pick nearest ... :

Condizione: System -> Compare two values -> First value: prevFloor Comparison: Less than Second value: Flooring.floor

Azione: System -> (Global & local variables) Add to ->Variable: score Value:Flooring.points

Azione: System -> (Global & local variables) Set value ->Variable: prevFloor Value:Flooring.floor

Condizione: System -> Compare two values -> First value: prevFloor Comparison: Greater or equal Second value: Flooring.floor

Azione: System -> (Global & local variables) Set value ->Variable: prevFloor Value:Flooring.floor

Dopo tutto quel lavoro, non abbiamo ancora niente per farlo vedere!E' il tempo di creare un HUD (heads-up display).

Come mostrato a pagina 7 di Guida a Construct 2 per principianti, dobbiamo aggiungere un nuovo layer chiamato 'HUD' . (Assicurati che sia in cima, e selezionato.) Su di esso, inserisci due oggetti Text (Testo), uno in alto a destra chiamato 'StatusText' e il secondo nel centro dello schermo chiamato 'ResultText' (se vuoi è possibile impostare le Properties dell'oggetto Text a un carattere meno lineare). StatusText sarà usato per tenere il conto del punteggio e della vita, mentre ResultText mostrerà o 'Game over', quando la vita di Tim scenderà a zero, o 'Level 2 reached' se raggiunge il piano più alto con un punteggio di 25 o più. (lasceremo l'effettiva variazione al livello successivo per una futura parte di questo tutorial).

Ora possiamo aggiungere un ulteriore sub-event alla doppia condizione Player | Platform On landed / Player | Is overlapping Flooring per mostrare quando il Livello 2 è stato raggiunto. Questo sub-event ha una coppia di condizioni:

Condizione: Flooring -> Compare instance variable -> floor: Equal to: 3

Condizione: System -> (Global & local variables) Compare variable ->Variable: score: Greater or equal: 25

Azione: ResultText -> Set text: ''Level 2 reached"

Ora per l'avviso 'Game over', e il ripristino della vita di Tim per il round successivo – questo sarà un nuovo evento (abbiamo finito di usare i sub-event):

Condizione: System -> (Global & local variables) Compare variable ->Variable: health: Equal to: 0

Azione: ResultText -> Set text: ''Game over"

Azione: System -> (Global & local variables) Set value -> health :3

Azione: System -> (Time) Wait -> Seconds: 3

Azione: ResultText -> Set text: ''" (blanking out 'Game over', ready for the next round)

Infine, mentre il gioco sta andando avanti, abbiamo bisogno di mantenere il punteggio e la vita continuamente aggiornati:

Condizione: System -> Every tick

Azione: StatusText -> Set text: "Score: " & score & " Health: " & health

Bene, questa è la conclusione della seconda parte del tutorial per un gioco tipo Platform. Nella prossima sezione, vedremo come avanzare al Livello 2 e mettere alla prova Tim con delle piattaforme mobili. E per favore, postate i vostri commenti a proposito di cosa vorreste vedere nelle prossime sezioni (e sentitevi liberi di dirmi cosa ha bisogno di correzioni).

Nel frattempo, se trovate il gioco troppo difficile, ricordate che, come ideatori del gioco, siete liberi di cambiare le proprietà del comportamento dell'oggetto Piattaforma per il giocatore :) .

.CAPX

platform-tutorial-i.capx

Download now 608.15 KB
  • 0 Comments

Want to leave a comment? Login or Register an account!