Jump to content

AD-Blocker detected, please disable your ad-blocker when surfing in makerando.com - There is no invasive Ad.

 

  • 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? :( )

Share this post


Link to post
Share on other sites

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.

 

Edited by Raven
Correzioni 2 (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By kaine
      Siccome non voglio aprire un topic per ogni cosa che faccio.
      Apro direttamente un topic con i vari esperimenti e prove grafiche, così evito di inzozzare di tanto in tanto la shout XD
      Bene inauguriamo il tutto con il primo tentativo di riprodurre un albero.
      Appena posso aggiungo il procedimento passo passo che ho seguito, ed il confronto con la versione originale, che in confronto alla mia alla fine è un albero XD

       
      Tutorial:
       
       
       
      Tileset:
      Premessa tileset è da prendere un po con le pinze, dato che non seguono il template di nessun Rpg Maker, anche se è possibile usarli cosi come sono sull'Mv per via di questo plugin:
      http://www.makerando.com/forum/topic/1347-tiled-plugin/#entry11926
      Forse il termine più appropriato è Parallax Tiles.
      Flora:
       
      Terreni:
       
       
      Zona nevosa:
       
       
      Zona desertica:
       
       
      Zona Temperata:
       
       
       
      Altro:

       
      Charset:
       
       
      Chipset:
       
       
    • By Parlu
      Salve a tutti, questa è la sinossi del gioco a cui sto lavorando in questo momento; vi dico già che il progetto è in una fase piuttosto avanzata, ma devo prima occuparmi di alcuni aspetti importanti:
       
      Il gioco è un Rpg di vecchio stampo (quindi combattimenti a turni): parla di questo ragazzo, Lux, che come ogni buon protagonista lotta per salvare il mondo da una malvagia organizzazione. Durante il suo viaggio incontra molti personaggi, buoni e cattivi, e diventerà mano a mano più forte per affrontare il boss finale. Tuttavia, un altro nemico si nasconde nell'ombra in attesa di colpire. Questa è (in modo MOLTO riassuntivo) la trama della prima parte del gioco.
       
      Il punto di forza del gioco è principalmente la trama, piena di misteri e di colpi di scena, inoltre nelle cutscene ho cercato di rappresentare al meglio i tratti e le dinamiche tra i personaggi. In realtà il gioco migliora qualitativamente andando avanti nella storia, perché ho iniziato questo progetto quasi 3 anni fa e credo (o almeno spero) di essere migliorato. Credo che anche le meccaniche del gioco non siano male, sebbene non si possano definire il punto di forza.
       
      Ma veniamo al dunque: sto cercando un paio di tester che mi aiutino col bilanciamento del gioco, consigliandomi skill da aggiungere ai vari personaggi e altri miglioramenti generali. In più, mi farebbe comodo anche qualcuno esperto con le Action Sequences di Yanfly, anche se la cosa non è prioritaria.
       
      Se avete domande potete scrivermi qui o contattarmi in privato. 
    • By Flaviogfx
      Ciao a tutti! 
      Come da titolo avrei bisogno di una mano sul battle system, vorrei far scomparire temporaneamente il battler del personaggio durante le animazioni sul nemico (essendo che c'è anche il personaggio nell'animazione). Ho messo negli screen gli script che sto utilizzando, per chi risponderà vi ringrazio infinitamente! 
×