ProGM Posted February 11, 2008 Share Posted February 11, 2008 Lezione: Creare una MinimappaObiettivo della lezioneAlla 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 immaginiAllora, 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.pngA questo punto avremo una immagine del genere:http://img119.imageshack.us/img119/3540/minimappafo7.pngPossiamo 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 mappaPrima 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.pngNoi 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 pxora, 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.gifAggiornamento dell'eroeImportiamo 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 YQueste 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 *32ora 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] / 640300 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 / 640stessa cosa per la y (ovviamente con l'altezza al posto dell'altezza > Variabile eroe_y * 300 Variabile eroe_y /640Perfetto, 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 + 140A questo punto non resta che mostrare l'immagine del segnalino:Mostra immagine 2: "segnalino": coordinata_X = variabile eroe_x, coordinata Y = eroe_yLa nostra minimappa ? pronta per essere usata e si aggiorna al movimento dell'eroe.Eventuali eventiIl 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.rarCommenti e domande ben accetti ^^ Progetti: http://i.imgur.com/jmLkIqi.pnghttp://i54.tinypic.com/2rh4ojq.pnghttps://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.gifhttp://i.imgur.com/H1ARhq7.gifhttp://i.imgur.com/Af6ijZN.gifAOT: 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 More sharing options...
Theoras Posted February 11, 2008 Share Posted February 11, 2008 Il problema è che dovremmo disegnare una minimappa per ogni mappa...Un po' eccessivo... http://img396.imageshack.us/img396/3194/citta10mv9.gif 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 More sharing options...
DracoMT2 Posted February 12, 2008 Share Posted February 12, 2008 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 xDA 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 More sharing options...
Walrus1235 Posted February 12, 2008 Share Posted February 12, 2008 Hem.. posso anche fare una skifezza con paint? One flew east, one flew west, one flew over the cuckoo's nest. Link to comment Share on other sites More sharing options...
ProGM Posted February 12, 2008 Author Share Posted February 12, 2008 ehm sì, ma deve essere in proporzione alla mappa originale, se no... salta il calcolo XD Progetti: http://i.imgur.com/jmLkIqi.pnghttp://i54.tinypic.com/2rh4ojq.pnghttps://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.gifhttp://i.imgur.com/H1ARhq7.gifhttp://i.imgur.com/Af6ijZN.gifAOT: 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 More sharing options...
Recommended Posts