Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
[RGSS] Tutorial Scene base

    Sleeping Leonhart
  • Animatore

  • Utenti
  • Rens: 316
  • 0
  • StellettaStellettaStellettaStelletta
  • 579 messaggi
  • Sesso:Maschio
  • Provenienza:Roma
  • Abilità:Esperto

#1 Inviato 08 June 2010 - 11:05 AM

Creazione di una Scena
1.0


1. Introduzione

Per: RPG Maker XP/VX.
Autore: The Sleeping Leonhart;
Descrizione: Questo tutorial descrive come creare una semplice scena in RGSS e fargli fare qualche azione.
Ultima modifica: 8/6/2010;).
Download: Allega file  _RGSS__Tutorial_Scene.doc   43K   59 Numero di downloads


2. Tutorial

Creazione di una scena base

Per prima cosa dobbiamo definire il nome della classe della scena che sarà poi il nome con la quale essa verrà richiamata
<div class="de1"><span class="kw1">class</span> NOMESCENA</div><div class="de1"> </div><div class="de1"><span class="kw1">end</span></div></div></td></tr></table>
Generalmente le scene vengono chiamate con un nome del tipo
<div class="de1">Scene_NOMESCENA</div></div></td></tr></table>
In Rpg Maker VX esiste la classe Scene_Base, che è un po’ come la classe Window_Base per le finestre, essa contiene infatti dei metodi comuni usati in quasi tutte le scene, per far ereditare questa classe basta anteporre < Scene_Base davanti al nome della scena, così:
<div class="de1">Scene_NOMESCENA <span class="sy0"><</span> Scene_Base</div></div></td></tr></table>
Nel tutorial non userò la classe Scene_Base, ometterla mi permette di spiegarvi la creazione delle scene sia per VX che per XP.

Ora che abbiamo definito la classe dobbiamo iniziare a definire il punto di ingresso di una scena.
Il primo metodo richiamato da una classe è il metodo initialize, noi però non utilizzeremo questo metodo ma bensì il metodo main. Perché ciò?
Andiamo un attimo a dare un sguardo allo script del main, l'ultimo dello script editor, troveremo il seguente codice
<div class="de1">  <span class="kw1">while</span> <span class="re0">$scene</span> != <span class="kw2">nil</span></div><div class="de1">	<span class="re0">$scene</span>.<span class="me1">main</span></div><div class="de1">  <span class="kw1">end</span></div></div></td></tr></table>
in pratica Rpg Maker, parte ed inizia un ciclo infinito che termina solo se variabile globale $scene è vuota (e all'inizio non lo è in quanto sopra gli è assegnato il titolo)
all'interno del ciclo viene chiamato il metodo main della scena, ecco perché noi useremo questo metodo per iniziare a costruire la nostra scena.
In realtà non è obbligatorio usare il main per inizializzare le variabili della nostra scena, ma gli script standard e la maggior parte degli script sono strutturati cosi quindi noi li seguiamo a ruota.
Capisco che mi spiego da cani ma se avete domande o dubbi chiedete.
Quindi:
<div class="de1"><span class="kw1">class</span> NOMESCENA</div><div class="de1">  <span class="kw1">def</span> main</div><div class="de1"> </div><div class="de1">	CREAZIONEFINESTRE</div><div class="de1"> </div><div class="de1">	Graphics.<span class="me1">transition</span></div><div class="de1">	<span class="kw3">loop</span> <span class="kw1">do</span></div><div class="de1">	  Graphics.<span class="me1">update</span></div><div class="de1">	  Input.<span class="me1">update</span></div><div class="de1">	  update</div><div class="de1">	  <span class="kw1">if</span> <span class="re0">$scene</span> != <span class="kw2">self</span></div><div class="de1">		<span class="kw1">break</span></div><div class="de1">	  <span class="kw1">end</span></div><div class="de1">	<span class="kw1">end</span></div><div class="de1">	Graphics.<span class="me1">freeze</span></div><div class="de1"> </div><div class="de1">	DISPOSEFINESTRE</div><div class="de1"> </div><div class="de1">  <span class="kw1">end</span></div><div class="de1"><span class="kw1">end</span></div></div></td></tr></table>
Si inizia per prima cosa ad inizializzare le finestre, ma questo ve lo spiego dopo.
Come potete vedere nel main ce un altro ciclo infinito, in questo ciclo vengono aggiornate Grafica (Graphics.update), Input dei tasti (Input.update) e viene chiamato il metodo update
il ciclo termina quando la scena è diversa da se stessa e il main prosegue generalmente effettuando la cancellazione delle finestre.

Piccola parentesi:
Nel VX una volta che si è ereditato da Scene_Base si può omettere il main in quanto è già definito, per inizializzare le finestre viene usato il metodo start mentre per effettuarne il dispose il metodo terminate

Ora per continuare nella spiegazione ho bisogno di almeno una finestra, nel nostro caso ne useremo 2 una selezionabile per le opzioni e una semplice per mostrare lo stato delle nostre azioni.
La finestra selezionabile sarà del tipo Window_Command
Cosa è una Window_Command, è una semplice finestra selezionabile con una lista di voci, un esempio è la finestra de selezione delle voci del titolo o del menu.
La nostra finestra che mostra lo stato delle azioni invece sarà questa:
<div class="de1"><span class="kw1">class</span> Window_Valori <span class="sy0"><</span> Window_Base</div><div class="de1">  <span class="kw1">def</span> initialize</div><div class="de1">	<span class="kw1">super</span><span class="br0">(</span><span class="nu0">160</span>, <span class="nu0">0</span>, <span class="nu0">320</span>, <span class="nu0">192</span><span class="br0">)</span></div><div class="de1">	<span class="kw2">self</span>.<span class="me1">contents</span> = Bitmap.<span class="me1">new</span><span class="br0">(</span>width <span class="sy0">-</span> <span class="nu0">32</span>, height <span class="sy0">-</span> <span class="nu0">32</span><span class="br0">)</span></div><div class="de1">	refresh</div><div class="de1">  <span class="kw1">end</span></div><div class="de1"> </div><div class="de1">  <span class="kw1">def</span> refresh</div><div class="de1">	<span class="kw2">self</span>.<span class="me1">contents</span>.<span class="me1">clear</span></div><div class="de1">	<span class="kw2">self</span>.<span class="me1">contents</span>.<span class="me1">draw_text</span><span class="br0">(</span><span class="nu0">0</span>, <span class="nu0">0</span>, <span class="nu0">256</span>, <span class="nu0">32</span>, <span class="st0">"Lo stato della Switch 1 è: #{$game_switches[1]}"</span><span class="br0">)</span></div><div class="de1">	<span class="kw2">self</span>.<span class="me1">contents</span>.<span class="me1">draw_text</span><span class="br0">(</span><span class="nu0">0</span>, <span class="nu0">48</span>, <span class="nu0">256</span>, <span class="nu0">32</span>, <span class="st0">"Lo variabile 1 ha valore: #{$game_variables[1]}"</span><span class="br0">)</span></div><div class="de1">	<span class="kw2">self</span>.<span class="me1">contents</span>.<span class="me1">draw_text</span><span class="br0">(</span><span class="nu0">0</span>, <span class="nu0">96</span>, <span class="nu0">256</span>, <span class="nu0">32</span>, <span class="st0">"Il party possiede #{$game_party.gold} oro"</span><span class="br0">)</span></div><div class="de1">	draw_actor_graphic<span class="br0">(</span>$game_party.<span class="me1">actors</span><span class="br0">[</span><span class="nu0">0</span><span class="br0">]</span>, <span class="nu0">256</span>, <span class="nu0">150</span><span class="br0">)</span></div><div class="de1">	<span class="kw2">self</span>.<span class="me1">contents</span>.<span class="me1">draw_text</span><span class="br0">(</span><span class="nu0">0</span>, <span class="nu0">128</span>, <span class="nu0">256</span>, <span class="nu0">32</span>, <span class="st0">"#{$game_party.actors[0].name} è al livello #{$game_party.actors[0].level}"</span><span class="br0">)</span></div><div class="de1">  <span class="kw1">end</span></div><div class="de1"><span class="kw1">end</span></div></div></td></tr></table>
In Rpg Maker VX sostituite $game_party.actors con $game_party.members

La nostra scena si chiamerà Scene_Opzioni, ora inizializziamo le finestre nel main
<div class="de1"><span class="kw1">class</span> Scene_Opzioni</div><div class="de1">  <span class="kw1">def</span> main</div><div class="de1">	<span class="co1">#Nomi dei comandi</span></div><div class="de1">	comandi = <span class="br0">[</span><span class="st0">"Switch 1"</span>, <span class="st0">"Variabile 1 + 5"</span>, <span class="st0">"Variabile 1 - 3"</span>, <span class="st0">"Oro + 100"</span>, <span class="st0">"#{$game_party.actors[0].name} + 1"</span><span class="br0">]</span></div><div class="de1">	<span class="co1">#Inizializzo le finestre</span></div><div class="de1">	<span class="re1">@finestra_opzioni</span> = Window_Command.<span class="me1">new</span><span class="br0">(</span><span class="nu0">160</span>, comandi<span class="br0">)</span></div><div class="de1">	<span class="re1">@finestra_valori</span> = Window_Valori.<span class="me1">new</span></div><div class="de1">	<span class="co1">#Ciclo Principale</span></div><div class="de1">	Graphics.<span class="me1">transition</span></div><div class="de1">	<span class="kw3">loop</span> <span class="kw1">do</span></div><div class="de1">	  Graphics.<span class="me1">update</span></div><div class="de1">	  Input.<span class="me1">update</span></div><div class="de1">	  update</div><div class="de1">	  <span class="kw1">if</span> <span class="re0">$scene</span> != <span class="kw2">self</span></div><div class="de1">		<span class="kw1">break</span></div><div class="de1">	  <span class="kw1">end</span></div><div class="de1">	<span class="kw1">end</span></div><div class="de1">	Graphics.<span class="me1">freeze</span></div><div class="de1">	<span class="co1">#Effettuo il dispose di tutte le finestre che ho inizializzato</span></div><div class="de1">	<span class="re1">@finestra_opzioni</span>.<span class="me1">dispose</span></div><div class="de1">	<span class="re1">@finestra_valori</span>.<span class="me1">dispose</span></div><div class="de1">  <span class="kw1">end</span></div><div class="de1"> </div><div class="de1">  <span class="kw1">def</span> update</div><div class="de1"> </div><div class="de1">  <span class="kw1">end</span></div><div class="de1"><span class="kw1">end</span></div></div></td></tr></table>
Osservando lo script si nota la variabile comandi alla quale è assegnato una array di stringhe, questo array di stringhe non è altro che la lista dei comandi che la Window_Command mostrerà per noi
sotto assegniamo a delle variabili d'istanza le nostre 2 finestre, Window_Command richiede il passaggio di 2 argomenti, il primo è la larghezza della finestra, il secondo è la lista dei comandi (che noi abbiamo definito sopra)
Dopo il ciclo principale effettuiamo il dispose delle finestre chiamando il relativo metodo, ma che cos'è questo dispose?
Il dispose non è altro che la cancellazione della nostra finestra dallo schermo, se non lo effettuiamo le nostre finestre rimangono visibili anche dopo la chiusura della scena.

Ora andiamo a riempire il metodo update, questo metodo viene chiamato una volta per frame, dentro inseriremo l'update di @finestra_opzioni, necessario per il controllo attraverso i tasti (dell'altra non è necessario), e un controllo tasti:
<div class="de1">  <span class="kw1">def</span> update</div><div class="de1">	<span class="co1">#aggiornamento finestra di selezione</span></div><div class="de1">	<span class="re1">@finestra_opzioni</span>.<span class="me1">update</span></div><div class="de1">	<span class="co1">#Se il tasto B è premuto</span></div><div class="de1">	<span class="kw1">if</span> Input.<span class="me1">trigger</span>?<span class="br0">(</span><span class="re2">Input::B</span><span class="br0">)</span></div><div class="de1">	  <span class="co1">#Suona il SE di annullamento</span></div><div class="de1">	  <span class="re0">$game_system</span>.<span class="me1">se_play</span><span class="br0">(</span>$data_system.<span class="me1">cancel_se</span><span class="br0">)</span></div><div class="de1">	  <span class="co1">#ritorna alla mappa</span></div><div class="de1">	  <span class="re0">$scene</span> = Scene_Map.<span class="me1">new</span></div><div class="de1">	<span class="kw1">elsif</span> Input.<span class="me1">trigger</span>?<span class="br0">(</span><span class="re2">Input::C</span><span class="br0">)</span></div><div class="de1">	  <span class="co1">#Suona il SE di conferma</span></div><div class="de1">	  <span class="re0">$game_system</span>.<span class="me1">se_play</span><span class="br0">(</span>$data_system.<span class="me1">decision_se</span><span class="br0">)</span></div><div class="de1">	  <span class="co1">#Controlla l'indice della selezione</span></div><div class="de1">	  <span class="kw1">case</span> <span class="re1">@finestra_opzioni</span>.<span class="me1">index</span></div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">0</span></div><div class="de1">		<span class="co1">#Inverte lo stato della switch 1</span></div><div class="de1">		<span class="re0">$game_switches</span><span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> = !$game_switches<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span></div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">1</span></div><div class="de1">		<span class="co1">#Aumenta la variabile 1 di 5</span></div><div class="de1">		<span class="re0">$game_variables</span><span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="sy0">+</span>= <span class="nu0">5</span></div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">2</span></div><div class="de1">		<span class="co1">#Decrementa la variabile 1 di 3</span></div><div class="de1">		<span class="re0">$game_variables</span><span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="sy0">-</span>= <span class="nu0">3</span>	  </div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">3</span></div><div class="de1">		<span class="co1">#Il party ottiene 100 oro</span></div><div class="de1">		<span class="re0">$game_party</span>.<span class="me1">gain_gold</span><span class="br0">(</span><span class="nu0">100</span><span class="br0">)</span></div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">4</span></div><div class="de1">		<span class="co1">#Aumenta il livello del leader di 1</span></div><div class="de1">		<span class="re0">$game_party</span>.<span class="me1">actors</span><span class="br0">[</span><span class="nu0">0</span><span class="br0">]</span>.<span class="me1">level</span> <span class="sy0">+</span>= <span class="nu0">1</span></div><div class="de1">	  <span class="kw1">end</span></div><div class="de1">	  <span class="re1">@finestra_valori</span>.<span class="me1">refresh</span></div><div class="de1">	<span class="kw1">end</span></div><div class="de1">  <span class="kw1">end</span></div></div></td></tr></table>
Oltre al già citato metodo update di @finestra_opzioni si può notare
<div class="de1">Input.<span class="me1">trigger</span>?<span class="br0">(</span><span class="re2">Input::B</span><span class="br0">)</span></div></div></td></tr></table>
Questo metodo controlla se un tasto, in questo caso B (non la lettera il tasto di Rpg Maker), è stato premuto,
oltre a trigger? esistono altri due metodi, ve li elenco è spiego tutti e 3
  • press?(TASTO): Determina se TASTO sta venendo premuto
  • trigger?(TASTO): Determina se TASTO è stato premuto di nuovo, cioè dopo uno stato di premuto e non premuto.
  • repeat?(TASTO): Determina se TASTO è stato premuto e continua ad esserlo.
I tasti possono essere:
DOWN, LEFT, RIGHT, UP, A, B, C, X, Y, Z, L, R, SHIFT, CTRL, ALT, F5, F6, F7, F8, F9.
e devono essere preceduti da Input. in quanto costanti di questo modulo.
Inoltre ci sono i metodi dir4 e dir8 che ritornano dei valori numerici in base al tasto direzionale premuto (per i numeri guardate il tastierino numerico), dir8 considera anche le direzioni oblique.

Proseguendo verso il basso troviamo select case la cui variabile di controllo è @finestra_opzioni.index, il metodo index, come è facile intuire, indica l'indice del comando selezionato partendo da 0
ora in base a questo indice ho fatto eseguire diverse azioni alla nostra scena, subito dopo aver eseguito una delle 5 azioni la finestra con i valori viene aggiornata attraverso il metodo refresh.
La nostra scena è conclusa, essa può essere richiamata attraverso
<div class="de1"><span class="re0">$scene</span> = Scene_Opzioni.<span class="me1">new</span></div></div></td></tr></table>

La scena Completa è questa
<div class="de1"><span class="kw1">class</span> Scene_Opzioni</div><div class="de1">  <span class="kw1">def</span> main</div><div class="de1">	<span class="co1">#Nomi dei comandi</span></div><div class="de1">	comandi = <span class="br0">[</span><span class="st0">"Switch 1"</span>, <span class="st0">"Variabile 1 + 5"</span>, <span class="st0">"Variabile 1 - 3"</span>, <span class="st0">"Oro + 100"</span>, <span class="st0">"#{$game_party.actors[0].name} + 1"</span><span class="br0">]</span></div><div class="de1">	<span class="co1">#Inizializzo le finestre</span></div><div class="de1">	<span class="re1">@finestra_opzioni</span> = Window_Command.<span class="me1">new</span><span class="br0">(</span><span class="nu0">160</span>, comandi<span class="br0">)</span></div><div class="de1">	<span class="re1">@finestra_valori</span> = Window_Valori.<span class="me1">new</span></div><div class="de1">	<span class="co1">#Ciclo Principale</span></div><div class="de1">	Graphics.<span class="me1">transition</span></div><div class="de1">	<span class="kw3">loop</span> <span class="kw1">do</span></div><div class="de1">	  Graphics.<span class="me1">update</span></div><div class="de1">	  Input.<span class="me1">update</span></div><div class="de1">	  update</div><div class="de1">	  <span class="kw1">if</span> <span class="re0">$scene</span> != <span class="kw2">self</span></div><div class="de1">		<span class="kw1">break</span></div><div class="de1">	  <span class="kw1">end</span></div><div class="de1">	<span class="kw1">end</span></div><div class="de1">	Graphics.<span class="me1">freeze</span></div><div class="de1">	<span class="co1">#Effettuo il dispose di tutte le finestre che ho inizializzato</span></div><div class="de1">	<span class="re1">@finestra_opzioni</span>.<span class="me1">dispose</span></div><div class="de1">	<span class="re1">@finestra_valori</span>.<span class="me1">dispose</span></div><div class="de1">  <span class="kw1">end</span></div><div class="de1"> </div><div class="de1">  <span class="kw1">def</span> update</div><div class="de1">	<span class="co1">#aggiornamento finestra di selezione</span></div><div class="de1">	<span class="re1">@finestra_opzioni</span>.<span class="me1">update</span></div><div class="de1">	<span class="co1">#Se il tasto B è premuto</span></div><div class="de1">	<span class="kw1">if</span> Input.<span class="me1">trigger</span>?<span class="br0">(</span><span class="re2">Input::B</span><span class="br0">)</span></div><div class="de1">	  <span class="co1">#Suona il SE di annullamento</span></div><div class="de1">	  <span class="re0">$game_system</span>.<span class="me1">se_play</span><span class="br0">(</span>$data_system.<span class="me1">cancel_se</span><span class="br0">)</span></div><div class="de1">	  <span class="co1">#ritorna alla mappa</span></div><div class="de1">	  <span class="re0">$scene</span> = Scene_Map.<span class="me1">new</span></div><div class="de1">	<span class="kw1">elsif</span> Input.<span class="me1">trigger</span>?<span class="br0">(</span><span class="re2">Input::C</span><span class="br0">)</span></div><div class="de1">	  <span class="co1">#Suona il SE di conferma</span></div><div class="de1">	  <span class="re0">$game_system</span>.<span class="me1">se_play</span><span class="br0">(</span>$data_system.<span class="me1">decision_se</span><span class="br0">)</span></div><div class="de1">	  <span class="co1">#Controlla l'indice della selezione</span></div><div class="de1">	  <span class="kw1">case</span> <span class="re1">@finestra_opzioni</span>.<span class="me1">index</span></div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">0</span></div><div class="de1">		<span class="co1">#Inverte lo stato della switch 1</span></div><div class="de1">		<span class="re0">$game_switches</span><span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> = !$game_switches<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span></div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">1</span></div><div class="de1">		<span class="co1">#Aumenta la variabile 1 di 5</span></div><div class="de1">		<span class="re0">$game_variables</span><span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="sy0">+</span>= <span class="nu0">5</span></div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">2</span></div><div class="de1">		<span class="co1">#Decrementa la variabile 1 di 3</span></div><div class="de1">		<span class="re0">$game_variables</span><span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="sy0">-</span>= <span class="nu0">3</span>	  </div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">3</span></div><div class="de1">		<span class="co1">#Il party ottiene 100 oro</span></div><div class="de1">		<span class="re0">$game_party</span>.<span class="me1">gain_gold</span><span class="br0">(</span><span class="nu0">100</span><span class="br0">)</span></div><div class="de1">	  <span class="kw1">when</span> <span class="nu0">4</span></div><div class="de1">		<span class="co1">#Aumenta il livello del leader di 1</span></div><div class="de1">		<span class="re0">$game_party</span>.<span class="me1">actors</span><span class="br0">[</span><span class="nu0">0</span><span class="br0">]</span>.<span class="me1">level</span> <span class="sy0">+</span>= <span class="nu0">1</span></div><div class="de1">	  <span class="kw1">end</span></div><div class="de1">	  <span class="re1">@finestra_valori</span>.<span class="me1">refresh</span></div><div class="de1">	<span class="kw1">end</span></div><div class="de1">  <span class="kw1">end</span></div><div class="de1"><span class="kw1">end</span></div></div></td></tr></table>
Ricordatevi di copiarvi anche la finestra che ho inserito sopra.

Mi rendo conto che non ho spiegato tutto e non ho spiegato molto chiaramente ma è più semplice di quello che sembra creare una scena.
Prossimamente posterò uno snocciolamento degli script che gestiscono il Menu cosi che possa spiegare un po’ meglio il funzionamento delle scene e perché no dare qualche dritta per personalizzarvi i vostri menu.
Se ci sono domande, dubbi, volete mostrarmi le vostre scene o chiedere consigli/suggerimenti non esitate a postare.

Immagine inserita
Scarica la Demo!
Tutti i miei script(o quasi) li trovi Qui!


    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#2 Inviato 08 June 2010 - 12:21 PM

Bel tutorial, Sleeping ^ ^
Per ora non ho tempo, ma in seguito lo studierò più approfonditamente.
Non ho ben capito questa parte

Inoltre ci sono i metodi dir4 e dir8 che ritornano dei valori numerici in base al tasto direzionale premuto (per i numeri guardate il tastierino numerico), dir8 considera anche le direzioni oblique.

soprattutto la parte dir8 che considera le oblique :D

E' l' inizio di una serie di tutorial sull' RGSS? :D
^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler


    MasterSion
  • Prode Guerriero

  • Utenti
  • Rens: 21
  • 0
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 2178 messaggi
  • Sesso:Maschio
  • Provenienza:Cagliari
  • Abilità:Adepto

#3 Inviato 08 June 2010 - 12:30 PM

Complimenti Sleeping! Spiegato veramente bene (sopratutto per me che so già fare queste cose xD)
Mi servirebbero tutorial più avanzati ci arriverai prima o poi?

Immagine inserita


Un uomo senza religione è come un pesce senza bicicletta.


Immagine inserita


Immagine inseritaImmagine inseritaImmagine inserita


    Sleeping Leonhart
  • Animatore

  • Utenti
  • Rens: 316
  • 0
  • StellettaStellettaStellettaStelletta
  • 579 messaggi
  • Sesso:Maschio
  • Provenienza:Roma
  • Abilità:Esperto

#4 Inviato 08 June 2010 - 13:14 PM

@Guardian:Grazie mille, provo a spiegarti megli fai conto di avere all'interno del metodo update
<div class="de1">tasto = Input.<span class="me1">dir8</span></div></div></td></tr></table>
Ora se premi uno qualsiasi dei tasti movimento (su, giu, destra o sinistra), la variabile tasto assume un valore numerico che identifica la direzione che hai premuto con le frecce. Con direzioni oblique intendevo semplicemente dire quelle direzioni come su/destra, giu/sinistra.
La corrispondenza direzione premuta numero dovrebbe essere questa:
<div class="de1">1: Giu/Sinistra 4:Sinistra 7: Su/Sinistra</div><div class="de1">2: Giu					 8: Su</div><div class="de1">3: Giu/Destra   6:Destra   9: Su/Destra</div></div></td></tr></table>
Con dir4 solo Giu/Su/Destra/Sinistra, con dir8 tutte. Spero di essermi spiegato meglio :sisi:

@Master: Grazie anche a te, per qualcosa di piu avanzato non so, volevo fare una sorta di esplorazione degli script di base e con la scusa continuare ad insegnare. Come ho gia scritto con il prossimo tutorial punto ad indagare sugli script riguardanti il menu, quindi Window_MenuStatus, Scene_Menu ecc..., poi chissa forse qualcosa sul sistema di battaglia, anche se prima voglio vedere come gli utenti rispondono a questi "base".

Immagine inserita
Scarica la Demo!
Tutti i miei script(o quasi) li trovi Qui!


    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#5 Inviato 08 June 2010 - 13:33 PM

Ah sì, tutto chiaro, avevo frainteso il termine dir8 :D, grazie per l' esaustiva spiegazione.
^ ^
In attesa di altri bei tutorial :D
^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler


    Kingartur2
  • Arshes (RmXP)

  • Vincitore Lotteria
  • Rens: 154
  • 0
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 1597 messaggi
  • Sesso:Maschio
  • Provenienza:Nave Madre Aliena
  • Abilità:Maestro

#6 Inviato 08 June 2010 - 14:25 PM

Ripetere ogni tanto non fa male.
@Guardian : se guardi nei meandri delle sezione tutorial, sleeping aveva messo 2 tutorial che facevano parte di una serie e nel secondo disse che il prossimo era sulle scene e ora sta continuando il suo lavoro.
Per qualsiasi motivo non aprite questo spoiler.
Spoiler

Immagine inserita

 

Immagine inserita


    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#7 Inviato 08 June 2010 - 14:38 PM

@Guardian : se guardi nei meandri delle sezione tutorial, sleeping aveva messo 2 tutorial che facevano parte di una serie e nel secondo disse che il prossimo era sulle scene e ora sta continuando il suo lavoro.

Ah sì grazie, poi mi son ricordato, volevo andare a rileggerli in effetti.
^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler


    OblivionGv
  • Utente avanzato

  • Utenti
  • Rens: 0
  • 0
  • StellettaStellettaStelletta
  • 383 messaggi
  • Sesso:Maschio
  • Provenienza:Cento
  • Abilità:Novizio

#8 Inviato 10 June 2010 - 23:33 PM

Mi sono accorto solo adesso di questo tutorial, fenomenale!

logopresentazione.png


    Behemoth
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 17 messaggi
  • Sesso:Maschio
  • Provenienza:Verona
  • Abilità:Apprendista

#9 Inviato 26 June 2013 - 14:32 PM

Scusate io fin ora so programmare in python, html e css, con queste conoscenze ho possibilità di capire come si scrive in rgss? o è un mondo completamente nuovo?


             ___

       ___/__|_\__       Helloooooo!

     /__O____O___\..........


    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#10 Inviato 26 June 2013 - 14:49 PM

Html e css son piuttosto diversi, python è un linguaggio di programmazione diciamo più simile, potrebbe esserci qualche parolina in comune, ma di base è proprio il fatto che tu già sappia programmare e conoscere le basi che ti avvantaggia nello studio dell'RGSS ^ ^


(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler


    Kingartur2
  • Arshes (RmXP)

  • Vincitore Lotteria
  • Rens: 154
  • 0
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 1597 messaggi
  • Sesso:Maschio
  • Provenienza:Nave Madre Aliena
  • Abilità:Maestro

#11 Inviato 26 June 2013 - 15:38 PM

Behemot se ci è riuscita una capra come me che non sapeva nemmeno programmare direi che vai liscio come l'olio.


Per qualsiasi motivo non aprite questo spoiler.
Spoiler

Immagine inserita

 

Immagine inserita


    Lomax_Iced
  • Elfo di Babbo Natale

  • Utenti
  • Rens: 28
  • 3
  • StellettaStellettaStelletta
  • 225 messaggi
  • Sesso:Maschio
  • Provenienza:Palermo
  • Abilità:Adepto

#12 Inviato 25 August 2015 - 10:24 AM

Ciao ragazzi. So che il post è vecchiotto, ma penso che essendo un tutorial non vige la regola dei necropost. Se invece si, mi scuso in anticipo. 
Nel caso in cui non fosse:

Spoiler






  • Feed RSS