Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

  • Chatbox

    You don't have permission to chat.
    Load More

Recommended Posts

Ciao ragazzi

sto divertendomi un po' con rpgmaker Mv stendendo un progetto che spieghi un'idea. 

Non voglio fare una demo giocabile, non sono in grado, sto facendo un impaginato con screenshot, disegni, articoli, ecc (una finta recensione a un gioco che non esiste diciamo, per spiegarne i vari aspetti) 

 

Ho disegnato il mio character protagonista.

Ad un certo punto della storia questo character volerà su una nuvola (al posto dell'aeronave) e io l'ho quindi disegnato sulla nuvola.

 

Catturadesk.JPG.6df838f6d5e0c59130d034618faf51ee.JPG

 

Come potete vedere 'andare a prendere la nuvola' per volare genera il ridicolo effetto di vedere, prima di salirci, se stessi sulla nuvola.

Non è un problema, come dicevo non sto creando una demo ma credo che non sarebbe male iniziare a imparare qualcosina anche dal punto della programmazione del gioco (di cui non capisco una fava) ma soprattutto a me piacerebbe che l'aeronave (in questo caso la nostra nuvola) venga richiamata tramite pulsante.

 

Mi piacerebbe che premendo il pulsante azione si apra un piccolo menù sulla world map composto da pochi bottoni-icone (vi ricordate\conoscete golden sun per gba?) tra cui proprio il bottone nuvola e che, premuto, faccia diventare il mio character l'aeronave\nuvola.

 

Ecco, così

Risultato immagini per golden sun overworld

 

nell'overworld vorrei premere il pulsante azione che apra 4 icone: oggetti, status, nuvola, ecc

Selezionando "nuvola" ci trasformeremo quindi in nuvola e solcheremo i cieli.

 

Fattibile?

 

Ringrazio tutti per le eventuale risposte (temo che sarà difficile vero? :( )

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ho tutti gli editor di RPG Maker ma MV ancora non l'ho usato, proverò comunque a spiegarti la logica che si usa in questi casi, indipendentemente dal linguaggio di programmazione usato ed alcuni codici di esempio fittizzi.

 

Per aprire un menù premendo un pulsante ti serve una variabile, indipendentemente dal tipo di variabile, che cambiando dal suo stato iniziale attiva un codice in "ascolto" su quella variabile, questo codice fermerà il gioco e apparirà il menù a schermo.

 

Partendo a monte di questa funzione vediamo come la pressione di un tasto fa' cambiare la variabile che a sua volta attiva il menù tralasciando le librerie e i comandi per questa funzione.

Ogni tasto quando viene premuto invia un numero al computer che permette di sapere quale tasto viene premuto detto in parole povere.

Mettiamo dunque l'input dei tasti in una variabile che chiameremo con un nome riconoscibile ad esempio e per l'esempio "Tasti".

La variabile dovrà cambiare costantemente diventando sempre uguale al tasto premuto e per fare questo la si mette in un ciclo continuo, il codice avrà una struttura simile a questa:

1  Inizio Ciclo

2  "Input Tastiera" nella variabile "Tasti"

3  Fine Ciclo

Quando non si premono tasti la valore della variabile sarà uguale a 0.

Appena si preme un tasto la variabile diventerà uguale al numero del tasto corrispondente e poi tornerà a 0, tenendo premuto quel tasto la variabile avrà quel numero per tutta la durata della pressione.

In questo modo dunque potremo sempre sapere quale tasto viene premuto.

Adesso impostiamo un codice che permette di aprire il menù alla pressione del tasto che abbiamo scelto, per questo ci serve un altra variabile che per l'esempio chiameremo "MenùPersonale".

Per far in modo che il codice si attivi quando si verificano determinate condizioni si usa la Condizione Se. Poniamo che il tasto scelto per il menù corrisponda al numero 5.

1  Se Variabile "Tasti" = 5

2  Poni Variabile "MenùPersonale" = 1

3  Fine Condizione Se

In quell'infinitesimale istante in cui La Variabile "Tasti" sarà uguale a 5 questo farà diventare la variabile "MenùPersonale" uguale a 1 fino a quando non la cambieremo di nuovo con un altro comando, diverso dunque da come funziona il Ciclo.

Se la Variabile "Tasti" non sarà uguale a 5 il codice resterà inerte dunque non si attiveranno i comandi tra l'inizio della condizione e la fine della condizione ovvero, in questo caso, il codice tra il rigo 1 ed il rigo 3.

Adesso il codice per far comparire il menù e prendendo ad esempio come hai fatto tu il menù di Golden Sun, questo sarà composto da icone, ovvero piccole immagini, che saranno posizionate sullo schermo e avremo disegnato e aggiunto alle risorse del gioco in precedenza. Per l'esempio poniamo tre opzioni nel menù: Stato giocatore, Nuvola e Salva Partita. Deve essere indicata anche la posizione di queste sullo schermo tramite delle coordinate numeriche ponendo, per semplificare, che lo schermo sia di 100x100 di dimensioni con X per la posizione orizzontale e Y per la posizione verticale.

1  Se Variabile "MenùPersonale" = 1

2  Mostra immagine "Stato Giocatore" Posizione:X=30,Y=15

3  Mostra immagine "Nuvola" Posizione:X=45,Y=15

4  Mostra immagine "Salva Partita" Posizione:X=60,Y=15

5  Fine Condizione Se

Questo farà comparire le immagini a schermo. Come puoi notare dalle coordinate usate l'altezza rimane invariata mentre la posizione orizzontale cambia, questo pone tutte le icone alla stessa altezza ed una di fianco all'altra. Ma come si fa' a selezionare le immagini e a far partire le opzioni corrispondenti? Semplicemente con dei numeri, ed in base al numero sarà selezionata l'opzione corrispondente quando premeremo il tasto di conferma. Le opzioni sono 3 e quindi useremo i numeri dall' 1 al 3 mettendoli in una variabile apposita che per l'esempio chiameremo "MenùPersonaleSelezione" e ponendo che il tasto che vogliamo usare per confermare l'opzione selezionata sia ugale a 7 ed i tasti sinistra e destra siano 1 e 2 usando sempre il codice della Variabile "Tasti" per sapere quando vengono premuti. Modifichiamo anche questo STESSO codice di cui sopra per posizionare la selezione sulla prima opzione appena si apre il menù e la condizione per far sparire il menù quando si preme di nuovo il tasto corrispondente al 5.

Per far capire quale opzione è attualmente selezionata faremo in modo di far "Pulsare" l'immagine corrispondente all'opzione, questo richiederà un altro codice.

 

Per aprire e chiudere il menù:

1  Se Variabile "MenùPersonale" = 1

2  Poni Variabile "MenùPersonaleSelezione" = 1

3  Mostra immagine "Stato Giocatore" Posizione:X=30,Y=15

4  Mostra immagine "Nuvola" Posizione:X=45,Y=15

5  Mostra immagine "Salva Partita" Posizione:X=60,Y=15

6  Fine Condizione Se

7  Se Variabile "MenùPersonale" = 0

8  Rimuovi immagine "Stato Giocatore"

9  Rimuovi immagine "Nuvola"

10Rimuovi immagine "Stato Giocatore"

11Fine Condizione Se

Quando la Variabile "MenùPersonale" diventa uguale a 0 le immagini spariranno, chiudendo dunque il menù.

 

Per far in modo che la pressione dei tasti destra e sinistra muovano la selezione e per chiudere il menù:

1  Se Variabile "Tasti" = 1

2  Poni Variabile "MenùPersonaleSelezione" = "MenùPersonaleSelezione" -1

3    Se Variabile "MenùPersonaleSelezione" < 1

4     Poni Variabile "MenùPersonaleSelezione" = 3

5    Fine Condizione Se

6  Fine Condizione Se

7  Se Variabile "Tasti" = 2

8  Poni Variabile "MenùPersonaleSelezione" = "MenùPersonaleSelezione" +1

9    Se Variabile "MenùPersonaleSelezione" > 3

10     Poni Variabile "MenùPersonaleSelezione" = 1

11   Fine Condizione Se

12Fine Condizione Se

13Se Variabile "Tasti" = 5

14Poni Variabile "MenùPersonale" = 0

15Fine Condizione Se

In questo codice sono presenti delle condizione Se dentro ad altre condizioni Se.

Premendo destra o sinistra si aumenta o diminuisce il valori di "MenùPersonaleSelezione" cambiando la selezione da 1 a 2 a 3 con delle addizioni o sottrazioni. Andando sotto 1 la selezione si sposta su 3 e superando il 3 la selezione si sposta su 1. In questo modo ci si può spostare nel menù con il classico effetto rotazione che vediamo nei videogiochi. Infine premendo di nuovo il tasto del menù, numero 5, "MenùPersonale" torna a 0 attivando il codice scritto in precedenza che farà chiudere il menù.

 

Per animare l'opzione attualmente selezionata con un effetto pulsazione:

1  Se Variabile "MenùPersonaleSelezione" = 1

2  Inizio Ciclo

3  Modifica Immagine "Stato Giocatore" Dimensione=125%, Tempo = 500ms

4  Modifica Immagine "Stato Giocatore" Dimensione=100%, Tempo = 500ms

5  Se Variabile "MenùPersonaleSelezione" <> 1 (<> vuol dire diverso dà)

6  Esci dal Ciclo

7  Fine Condizione Se

8  Fine Ciclo

9  Se Variabile "MenùPersonaleSelezione" = 2

10Inizio Ciclo

11Modifica Immagine "Nuvola" Dimensione=125%, Tempo = 500ms

12Modifica Immagine "Nuvola" Dimensione=100%, Tempo = 500ms

13Se Variabile "MenùPersonaleSelezione" <> 2 (<> vuol dire diverso dà)

14Esci dal Ciclo

15Fine Condizione Se

16Fine Ciclo

17Se Variabile "MenùPersonaleSelezione" = 3

18Inizio Ciclo

19Modifica Immagine "Salva Partita" Dimensione=125%, Tempo = 500ms

20Modifica Immagine "Salva Partita" Dimensione=100%, Tempo = 500ms

21Se Variabile "MenùPersonaleSelezione" <> 3 (<> vuol dire diverso dà)

22Esci dal Ciclo

23Fine Condizione Se

24Fine Ciclo

Come si può vedere dalle righe 3 e 4 l'immagine viene ingrandita a 125% e poi ridotta al 100% delle sue dimensioni dentro un ciclo. In questo modo pulserà continuamente finchè, come si vede nel rigo 5 una condizione lo fa' uscire dal ciclo ovvero quando questa opzione non è più selezionata. Il parametro Tempo nei righi 3 e 4 serve a stabilire in quanto tempo raggiunge la dimensione scelta, in questo caso mezzo secondo, quindi in un secondo diventerà grande e poi ritornerà alle dimensioni originali.

 

Adesso la parte che ti interessa, la Nuvola.

Una volta selezionata l'opzione della Nuvola, quindi quando "MenùPersonaleSelezione" è uguale a 2, con le stesse dinamiche viste fino adesso faremo in modo che la pressione del tasto di conferma attivi l'animazione della nuvola. Ti serviranno le seguenti cose: La grafica della nuvola senza personaggio sopra da impostare come predefinita nel database, 3 variabili per la posizione del personaggio usate per posizionare la nuvola (per l'esempio "PosizionePersonaggioX", "PosizionePersonaggioY", "IDMappaPersonaggio").

1  Se Variabile "Tasti" = 7

2   Se Variabile "MenùPersonaleSelezione" = 2

3    Poni Variabile "PosizionePersonaggioX" = Posizione X del personaggio

4    Poni Variabile "PosizionePersonaggioY" = Posizione Y del personaggio

5    Poni Variabile "IDMappaPersonaggio" = ID mappa attuale

6    Imposta posizione veicolo, Aereonave: ID Mappa="IDMappaPersonaggio", X="PosizionePersonaggioX", Y="PosizionePersonaggioY"

7   Fine Condizione Se 

8  Fine Condizione Se 

Adesso la tua nuvola è sulla posizione del tuo personaggio e senza il personaggio sopra. Di seguito il codice per salire sul veicolo cambiando le grafiche per dare l'effetto dello spostamento del personaggio.

1 Inizio Ciclo

2  Se Veicolo Aereo in uso

2  Cambia Grafica veicolo Aereonave: "Nuvola con personaggio"

3   Altrimenti

4   Cambia Grafica veicolo Aereonave: "Nuvola Vuota"

5  Fine Condizione Se

6 Fine Ciclo

"Altrimenti" al rigo 3 è una funzione aggiuntiva delle condizioni Se che permette di attivare il codice scritto sotto di esso nel caso in cui la condizione Se non si verifichi, in questo caso ogniqualvolta non sarai sul veicolo questo codice cambierà la grafica del veicolo con la grafica "Nuvola Vuota" e ogniqualvolta sarai sul veicolo questo codice cambierà la grafica del veicolo con la grafica "Nuvola con personaggio".

 

Bene siamo arrivati alla fine.

In generale quasi tutte queste parti devono essere impostate per funzionare in parallelo, ovvero devono essere tutte attive contemporaneamente per attivarsi ogni volta che si premono i tasti e le variabili cambiano.

Se non ci hai capito niente è normale, dormici su e vedrai che anche il giorno dopo probabilmente sarà uguale XD.

Scherzi a parte ti basta provare e spippolare anche a caso e capirai in base a cosa succede quando le testi in-game.

Considera che queste sono cose molto molto semplici, niente matematica o funzioni strane con collegamenti tra molte variabili e considera che alcune funzioni che io ho scritto diciamo per esteso forse possono essere fatte con un comando specifico dell'editor in modo più facile.

 

Modificato da Raven
Correzioni 2 (Visualizza storico modifiche)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

  • Contenuti simili

    • Da kaine
      Questa patch modifica il modo in cui le tavolozze delle immagini vengono caricate e calcolate e scambia la modalità di visualizzazione all'interno della finestra di gioco e a schermo intero da 16 a 32 bit. Tutti i file grafici devono ancora avere colori indicizzati a 8bit! Ma con questa patch verranno visualizzati come previsto senza ulteriori perdite di qualità.


      Se si utilizza RPG2000 1.07, è sufficiente attivare la funzione schermo 32bit dello strumento DestinyPatcherV2 e successivamente applicare la patch 32bit-Fix di DestinyV2.
       
      Tool e versioni supportate:
      Rpgmaker 2000: v1.61-v1.62
      Rpgmaker 2003: v1.08
       
      Autore: Bugmenot,KotatsuAkira
       
      Link Download:
      (2003 v1.08)
      https://www.mediafire.com/file/x5lm6ukulc0v6q9/32bit%28fix%29.rar/file
      (2000 v1.61-v1.62)
      https://www.mediafire.com/file/r3u2uark1gub7e3/RPGMakerPatch_Screen32.7z/file
       
       
      Se avete l'ultima versione di dynrpg mettete la patch direttamente nella cartella dynpatches. Altrimenti dovete applicarla tramite lunar ips che trovate qui:
      http://www.mediafire.com/?5jf9r44itbm7674
      
    • Da kaine
      Questa patch cambia la larghezza di tutto il testo renderizzato sullo schermo di gioco da 6 a 8 (i caratteri larghi e EXFONT passano da 12 a 16, il mezzo spazio da 3 a 4) pixel, mentre l'altezza rimane 12. Per utilizzarlo correttamente, potrebbe essere necessario sostituire i font utilizzati dal motore e inserire nell'EXE una nuova immagine EXFONT con una larghezza di 208 anziché 156 pixel.

      Per il momento, non utilizzare questa funzione in combinazione con EXtraFONT. In particolare, applicatela solo se sapete perfettamente cosa state facendo, poiché dovrete regolare manualmente la definizione della larghezza ridimensionata automaticamente di EXFONT al momento del caricamento da 288 a 384 pixel.
       
      Tool e versioni supportate:
      Rpgmaker 2000: v1.07-v1.10-v1.50-v1.51-v1.52-v1.60-v1.61-v1.62
      Rpgmaker 2003: v1.00-v1.03-v1.05-v1.08-v1.09-v1.12
       
      Autore: KotatsuAkira
       
      Link Download:
      https://www.mediafire.com/file/tl9kkcf78b7twqw/RPGMakerPatch_TextWidthEight.7z/file
       
      Se avete l'ultima versione di dynrpg mettete la patch direttamente nella cartella dynpatches. Altrimenti dovete applicarla tramite lunar ips che trovate qui:
      http://www.mediafire.com/?5jf9r44itbm7674
    • Da kaine
      Visualizza il menu invertito come in FF6.
      Personaggi a sinistra ed opzioni a destra.
       
      Tool e versioni supportate:
      Rpgmaker 2000: v1.07-v1.10-v1.50-v1.51-v1.52-v1.60-v1.61-v1.62
      Rpgmaker 2003: v1.00-v1.03-v1.05-v1.08-v1.09-v1.12
       
      Autore: Cherry,KotatsuAkira(porting)
       
      Link Download:
      (2003 v1.08)
      http://www.mediafire.com/file/o6o847gr08adqcb/RPG_RT_menureversed.rar
      (2000 v1.62)
      https://www.mediafire.com/file/osqjc0i4mi72ll4/RPGMakerPatch_MenuReversed.7z/file
      (2000 v1.07-v1.10-v1.50-v1.51/v1.52-v1.60-v1.61-v1.62 - 2003 v1.00-v1.03-v1.05-v1.08-v1.09->v1.12 (Maniac Patch up to mp210414 only) )
      https://www.mediafire.com/file/bfk056czh2xvczj/RPGMakerPatch_MenuReversed.7z/file
       
       
      Se avete l'ultima versione di dynrpg mettete la patch direttamente nella cartella dynpatches. Altrimenti dovete applicarla tramite lunar ips che trovate qui:
      http://www.mediafire.com/?5jf9r44itbm7674
×