Jump to content
Rpg²S Forum

Lezione: Creare una Minimappa


ProGM
 Share

Recommended Posts

Lezione: Creare una Minimappa

  • Obiettivo della lezione
    Alla fine di questa lezione sarete in grado di creare una mappa che segna dove sta l'eroe ed eventuali tesori, comoda per i dungeon.
  • Prerequisiti
    -Buona conoscenza di variabili, switch e gestione delle immagini
    -Un programma di grafica decente (io spiego come fare con photoshop)
    - Geometria analitica ?__?
  • Preparazione delle immagini
    Allora, prima di iniziare a programmare abbiamo bisogno dell'immagine della mappa rimpicciolita pronta e di tutti gli eventuali "segnalini" che diranno dove sta l'eroe o un evento sulla minimappa.
    La minimappa deve essere proporzionata a quella reale, quindi ? meglio evitare di disegnarla a caso. Il modo migliore ?, una volta finito il mapping, settare lo zoom di rpgmaker su 1/2 o 1/4 (a seconda di quanto ? grande la mappa) in modo da farla stare nello schermo, e infine fare uno screenshot (Premendo il tasto STAMP sulla tastiera). A questo punto apriamo il programma di grafica, creiamo un'immagine vuota e incolliamo lo screen fatto. Ritagliamo la parte che ci interessa:
    http://img123.imageshack.us/img123/7679/screenoe4.png
    A questo punto avremo una immagine del genere:
    http://img119.imageshack.us/img119/3540/minimappafo7.png
    Possiamo qui decidere cosa farne (aggiungere un bordo, ripassarla e renderla pi? schematica, insomma, dipende dalle esigenze).
    E ora... Prendete sotto mano una calcolatrice ^^
  • Proporzioni della mappa
    Prima di tutto bisogna immaginarsi lo schermo di RPG Maker come un piano cartesiano ribaltato (l'origine in alto a sinistra, non in basso a sinistra), di dimensioni 640x480 pixel:
    http://img119.imageshack.us/img119/25/pianocartesianoxdhb8.png
    Noi abbiamo la nostra Minimappa, che ovviamente ? di dimensioni minori di quelle originali (ma dai XD). Ora dobbiamo impostare una proporzione, tra la mappa originale e la minimappa:
    Prima di tutto cerchiamo:
    -la dimensione della mappa (premiamo col destro sulla mappa e guardiamo XD): nel mio caso 20x20
    -la dimensione in pixel dell'immagine della minimappa: nel mio caso 300x300 px
    ora, sappiamo che un tile (ovvero un quadretto di rpgmaker) occupa 32 pixel, quindi scopriamo che la nostra mappa occupa in pixel 640x640 (gi?, perch? 20*32 = 640 ?[______]? )
    Ottimo, scriviamo questi dati dove ci pare e iniziamo a programmare http://www.rpg2s.net/forum/public/style_emoticons/default/sisi.gif
  • Aggiornamento dell'eroe
    Importiamo tutte le immagini (i segnalini e la minimappa) nella cartella picture, creiamo un evento in processo parallelo (evento comune o evento su mappa, ? uguale), mettiamo un mostra picture per far vedere la minimappa. Mettiamo di mostrarla in coordinate x = 200, y = 140. (salviamocele le coordinate, servono poi)
    A questo punto impostiamo 2 variabili:
    variabile eroe_x == Sprite Eroe -> tile X
    
    variabile eroe_y == Sprite Eroe -> tile Y
    Queste ci servono per ottenere la posizione dell'eroe sulla mappa reale. Queste coordinate sono espresse per? in Tile, a noi servono in pixel. Moltiplichiamo *32 e si risolve tutto:
    Variabile eroe_x * 32
    
    Variabile eroe_y *32
    ora conosciamo le coordinate dell'eroe sulla mappa reale, solo che noi ora dobbiamo posizionare il segnalino dell'eroe in relazione alla minimappa. Quindi, facciamo una proporzione:
    [coordinata x eroe sulla mappa] : [larghezza della mappa] = [coordinata X eroe sulla minimappa] : [larghezza minimappa]
    (stessa cosa per la y)
    quindi:
    [coordinata X eroe sulla minimappa] = 300 * [coordinata eroe sulla mappa] / 640
    300 e 640 sono i dati di prima, ovvero larghezza minimappa e larghezza mappa.
    Quindi, tradotto a eventi sarebbe (mio dio forse vi sto incasinando la vita XD):
    Variabile eroe_x *300
    
    Variabile eroe_x / 640
    stessa cosa per la y (ovviamente con l'altezza al posto dell'altezza >
    Variabile eroe_y * 300
    
    Variabile eroe_y /640
    Perfetto, abbiamo ottenuto la posizione dell'eroe sulla minimappa. Per? va contato che la minimappa non l'abbiamo messa attaccata al bordo dello schermo, ma spostata. Quindi spostiamo le coordinate ottenute in modo che siano in relazione alla posizione che ha la minimappa:
    Variabile eroe_x + 200
    
    Variabile eroe_y + 140
    A questo punto non resta che mostrare l'immagine del segnalino:
    Mostra immagine 2: "segnalino": coordinata_X = variabile eroe_x, coordinata Y = eroe_y

    La nostra minimappa ? pronta per essere usata e si aggiorna al movimento dell'eroe.
  • Eventuali eventi
    Il discorso ? lo stesso che per l'eroe: creiamo 2 variabili, le assegnamo alla tile X e tile Y dell'evento e facciamo gli stessi identici calcoli, poi mostriamo il segnalino...
  • Demo dimostrativa (la minimappa si attiva premendo S)
    minimappa.rar

Commenti e domande ben accetti ^^

Progetti:

 http://i.imgur.com/jmLkIqi.png

http://i54.tinypic.com/2rh4ojq.png

https://github.com/ProGM

 

Crea anche tu il tuo gioco per Game Boy!
http://rpg2s.net/gif/SCContest3Oct.gifhttp://www.rpg2s.net/img/fablecontest1st.pnghttp://i43.tinypic.com/1zokd2s.png


http://i.imgur.com/BEu6G.gif

http://i.imgur.com/H1ARhq7.gif

http://i.imgur.com/Af6ijZN.gif

AOT: Associazione Odiamo la Telecom:

http://i.imgur.com/aYJs89E.png

"4 gattini... 4 stelline... E le 4 paperelle non ci stavano :3"

Flame


http://i30.tinypic.com/i27ypj.png

Link to comment
Share on other sites

Il problema è che dovremmo disegnare una minimappa per ogni mappa...

Un po' eccessivo...

 

Volete due giochi Completi e Seri fatti con RPG MAKER? Cliccate su...

www.raldon.altervista.org

 

Problemi con Raldon? Segnalali su...

www.raldon.forumfree.net

 

Partecipante al Rpg2s.net Game Contest 2008/2009

http://www.rpg2s.net/contest/GameContest0809/gc0809-bannerino.jpg

Gioco in Sviluppo: Raldon

 

 

Posizioni raggiunte nei Contest

http://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://img76.imageshack.us/img76/1260/destroy3gr3.pnghttp://img233.imageshack.us/img233/7186/comics2hd8.gifhttp://www.rpg2s.net/gif/GC_bestoftool3.gif

http://www.rpg2s.net/gif/GC_premio3.gifhttp://www.rpg2s.net/gif/GC_premio3.gifhttp://www.rpg2s.net/gif/GC_premio1.gifhttp://www.rpg2s.net/gif/GC_premio2.gifhttp://www.rpg2s.net/gif/GC_grafica3.gifhttp://www.rpg2s.net/gif/GC_programmazione3.gifhttp://www.rpg2s.net/gif/GC_programmazione1.gifhttp://www.rpg2s.net/awards/furordipopolo/Popolo3K.gifhttp://www.rpg2s.net/awards/furordipopolo/Popolo2XP.gifhttp://www.rpg2s.net/awards/furordipopolo/Popolo2BEST.gif

http://www.rpg2s.net/awards/bestuser2.jpghttp://www.rpg2s.net/awards/bestmaker2.jpghttp://www.rpg2s.net/awards/mostpresent1.jpghttp://www.rpg2s.net/awards/mostproductive1.jpg

Link to comment
Share on other sites

Ma anche no, se fai uno screenshot le modifiche da apportare possono anche essere poche. Poi, logicamente, se vuoi una cosa bella, devi lavorarci su, ma questo su tutto.

Questo è uno dei tanti modi macchinosi per creare una minimappa, ma fra tutto certo è il più efficace: unica cosa, bisogna stare attenti ai calcoli xD

A quando l'interrogazione?

http://img396.imageshack.us/img396/5114/bannerqj2.jpg

 

And the Dragon will Rise with the Twilight Star...

...again.

 

Sei nuovo? Leggi qui.

 

http://img505.imageshack.us/img505/210/banneradtnewnt7ew3.jpg

Link to comment
Share on other sites

ehm sì, ma deve essere in proporzione alla mappa originale, se no... salta il calcolo XD

Progetti:

 http://i.imgur.com/jmLkIqi.png

http://i54.tinypic.com/2rh4ojq.png

https://github.com/ProGM

 

Crea anche tu il tuo gioco per Game Boy!
http://rpg2s.net/gif/SCContest3Oct.gifhttp://www.rpg2s.net/img/fablecontest1st.pnghttp://i43.tinypic.com/1zokd2s.png


http://i.imgur.com/BEu6G.gif

http://i.imgur.com/H1ARhq7.gif

http://i.imgur.com/Af6ijZN.gif

AOT: Associazione Odiamo la Telecom:

http://i.imgur.com/aYJs89E.png

"4 gattini... 4 stelline... E le 4 paperelle non ci stavano :3"

Flame


http://i30.tinypic.com/i27ypj.png

Link to comment
Share on other sites

 Share

×
×
  • Create New...