Creare un Menu ad Eventi
Informazioni
Tool usato: RPG Maker Ace (in inglese)
Autore: Morshudiego
Premessa
Anni orsono c'erano gli alexiani (Così chiamo chi usa RPG Maker 2000/2003) che criticavano di brutto i ralphiani (chi usa il VX) per il fatto che utilizzavano script invece di farsi il mazzo con gli eventi, cosa che ha portato a pensare che i ralphiani fossero dei nabbi completi.
Se da un lato penso che gli script siano una manna dal cielo che permette di gestire ogni singolo aspetto del gioco, da un lato sono daccordo con gli alexiani: gli script hanno favorito di molto la scarsità di impegno degli utenti, promuovendo il copia-incolla di script e limitando così la varietà dei progetti.
Ho deciso di scrivere questa guida principalmente per dimostrare che l'eventing su Ace non è morto ed è tuttora valido per realizzare progetti molto personali e originali. Secondariamente può essere utile a qualcuno che vuole realizzare il proprio menù ma non sa da che parte girarsi (e non ha dimestichezza con gli script).Ci tengo a specificare che in questo menu si useranno comunque gli script call per poter semplificare notevolmente il lavoro soprattutto con l'uso delle immagini. È vero che sarà un menu ad eventi, ma è anche vero che se esiste un modo più efficiente e veloce di realizzare una cosa, è giusto impararla. L'idea è stata rimandata a quando completerò il menu.
Indice
Parte 1: Le grandi basi
Parte 1bis: Costruisciti da solo il tuo Input trigger!
Parte 2: Toh, un menu!
Parte 3: La borsa infinita (COMING SOON)
Parte 4: Questioni di abilità (COMING SOON)
Parte 5: Cosa mi metto oggi? (COMING SOON)
Parte 6: Curriculum Vitae (COMING SOON)
<altre parti verranno aggiunte in futuro>
Parte 1: Le grandi basi
Partiamo subito col puntualizzare una cosa.
Questo NON E' un menu. Questo è un mostra scelta che si spaccia per menu. Brutto da vedere, estremamente limitato, scarsamente personalizzabile. E' l'ultima cosa che voi vorreste avere sul vostro progetto.
Per realizzare un buon menu bisogna utilizzare queste componenti:
- Variabili
- Switch
- Eventi Comuni
- Cicli
- Condizioni SE (Conditional Branches in inglese)
- Immagini
Non starò a spiegare cosa sono tutti questi, ci sono altri ottimi tutorial al riguardo. Per le immagini vi assicuro che non bisogna essere un artista per realizzare qualcosa di decente. Un buon programma che vi consiglio per realizzare le immagini è GraphicsGale: Gratuito, semplice e con funzioni molto utili.
Punto 1: Lo scheletro del menu
Quando creano un menu ad eventi, molti principianti tendono a mettere tutto il codice in un solo evento comune. E funziona eh, per carità. Ma poi quando devono apportare delle modifiche a distanza di tempo... E chi ci capisce più?
Ecco perché è molto meglio dividere il menu in vari eventi comuni, ognuno con il suo codice da gestire. Sarà più semplice da capire e da fare delle modifiche.
Creiamo quindi 4 eventi comuni: Uno per chiamare il menù, uno per aprire il menu, uno per quando siamo dentro il menu e uno per chiudere il menu.
[001: Pulsante Menu] [Trigger: Parallel Process] [Condition Switch: 0001:Pulsante Menu Premuto]
[002: Apri Menu] [Trigger: None]
[003: Dentro Menu] [Trigger: None]
[004: Chiudi Menu] [Trigger: None]
Concentriamoci sul primo evento: Il richiamo del menu, che sarà l'unico evento parallelo del nostro menu.
*: "Ma come!? Vuoi dire che non devo utilizzare 400 eventi in parallelo per far funzionare tutto alla perfezione!?!?"
Utilizzando i cicli al posto degli eventi paralleli possiamo ottimizzare grandemente il nostro menu, facendo risparmiare cpu al giocatore e permettendo di usare i processi paralleli per altre cose.
Tornando al nostro evento, settiamo il trigger in "Parallel Process" e come switch scegliamo la switch numero 1, chiamandola "Pulsante Menu Premuto". il codice al suo interno sarà molto semplice: Se il tasto B (Esc sulla tastiera) viene premuto, il secondo evento comune (Apri Menu) verrà attivato.
[001: Pulsante Menu] [Trigger: Parallel Process] [Condition Switch: 0001:Pulsante Menu Premuto]
@>Conditional Branch: The B Button is Being Pressed
@>Call Common Event: [Apri Menu]
@>
: Branch End
@>
Ora che il nostro evento di richiamo è bello che pronto, possiamo concentrarci sugli altri eventi comuni (che d'ora in avanti chiamerò CE)
Il secondo ed il quarto CE (Apri menu e Chiudi menu) per il momento sono abbastanza semplici. Apri menu attiverà una switch (la numero 2, che chiameremo "Menu aperto") e chiamerà l'evento comune Dentro Menu. Chiudi Menu invece spegnerà la switch per informare il gioco che il menu è stato chiuso.
[002: Apri Menu] [Trigger: None]
@>Control Switches: [0002: Menu Aperto] = ON
@>Call Common Event: [Dentro Menu]
@>
[004: Chiudi Menu] [Trigger: None]
@>Control Switches: [0002: Menu Aperto] = OFF
@>
Ora manca solo l'evento comune Dentro Menu. Qui dentro ci sarà tutto il fulcro del nostro menu.
Dato che non sarà un processo parallelo dobbiamo "bloccare" il gioco dentro il CE. Per fare questo utilizziamo un ciclo, così che il codice contenuto all'interno continuerà a ripetersi finché non verrà fermato in qualche modo.
Dentro questo ciclo bloccheremo il personaggio del giocatore col comando "Set Move Route" senza nessun tic e come movimenti "wait 1 frame". Dopodiché anche qui useremo una condizione SE "se il tasto B è premuto" per poter rompere il ciclo infinito e poter uscire dal menu. Per non far buggare il ciclo è necessario inserire, dopo tutti i vari comandi del ciclo, un "wait 1 frame" così che il gioco non si blocchi. Infine, al di fuori del ciclo richiameremo il CE Chiudi Menu per poter finalmente chiudere il menu e tornare alla mappa.
[003: Dentro Menu] [Trigger: None]
@>Loop
@>Set Move Route: Player
: $>Wait: 1 frame(s)
@>Conditional Branch: The B Button is Being Pressed
@>Break Loop
@>
: Branch End
@> Wait 1 frame(s)
@>
: Repeat Above
@>Call Common Event: [Chiudi Menu]
@>
Ora lo scheletro del menu è completato! Non dimenticate di attivare la switch 1 per poter utilizzare il nuovo menu!
Punto 2: "Cambio della guard... ehm... del menu!"
Usando un menu alternativo al menu principale, questi due andranno in conflitto quando si premerà il pulsante Esc. Per risolvere il problema bisogna disabilitare il menu di base con il comando "Change Menu Access".
Nella prossima parte
purtroppo in questa parte di menu c'è veramente nulla, essendo solo la parte introduttiva. Nella prossima parte vedremo come gestire le immagini in modo da dare una parte grafica al menu.
Alla prossima!
Modificato da Morshudiego, 30 October 2014 - 15:51 PM.