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
Corso di RGSS - by Alato * * * * * 5 Voti

    Alato
  • R²S Scripting Team

  • Utenti Speciali
  • Rens: 0
  • 0
  • StellettaStellettaStellettaStellettaStelletta
  • 1099 messaggi
  • Sesso:Maschio
  • Provenienza:Genova
  • Abilità:Maestro

#1 Inviato 17 September 2006 - 20:06 PM

Corso di RGSS by Alato



Lezione 1
I componenti di uno script


Questa lezione presenta le prime basi sulla struttura degli script, utile alla comprensione del Ruby Game Scripting System (RGSS),e in particolare i seguenti argomenti

  • Significato e utilizzo di classe, metodo e oggetto
  • Sintassi di base per creazione di classi, metodi e oggetti
  • Metodi particolari

Per domande o chiarimenti, postate qui.

Allega File(s)


o•°' - '°•o
Hei, mitä kuuluu?
Immagine inserita


    Cold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 74 messaggi

#2 Inviato 03 May 2007 - 18:13 PM

non ho capito cos'è main T__T

    Broly88
  • Utente avanzato

  • Utenti
  • Rens: 37
  • 0
  • StellettaStellettaStelletta
  • 317 messaggi
  • Sesso:Maschio
  • Provenienza:Ovunque ci sia una scia di sangue e una lama solitaria...
  • Abilità:Novizio

#3 Inviato 03 May 2007 - 18:42 PM

main è il processo principale (in ingelse "main" significa proprio "principale"). Questo processo, se non erro (non ho letto l'allegato di Alato... scusa Ala!!!), viene chiamato immediatamente dallo script se è presente. L'unico altro processo (a meno di altre specifiche) che viene chiamato prima del main, è l'initialize, ma questa è un'altra storia. In parole povere, se in una classe sono presenti il metodo initialize e il metodo main, questi vengono chiamati per primi, proprio in quest'ordine. Prima l'initialize, poi il main e poi gli altri processi... spero di esserti stato utile, byez :chirol_iei2:
Il mondo è il cancro... Io la cura...

Il mio sport preferito:
Gli altri --> (T_T#)O==(^_^Q) <-- IO

I miei alias:
Immagine inserita
-----------------------------------------------------
Immagine inserita
-----------------------------------------------------
Immagine inserita

Broly88's
Immagine inserita Immagine inserita
Flame Dancer the level 99 Charizard!



Immagine inserita Immagine inserita

    Cold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 74 messaggi

#4 Inviato 03 May 2007 - 20:29 PM

ahhh capito cos'è main...era una cavolata ke mongolo ke sn XD...cmq ho appena finito d leggere tutte le lezioni...la + difficile è stata la prima...il resto x fortuna ho capito tutto...ce ne saranno altre?

Modificato da Cold, 03 May 2007 - 20:31 PM.


    Lestat
  • Utente sottopagato

  • Utenti
  • Rens: 10
  • 0
  • StellettaStellettaStelletta
  • 219 messaggi
  • Sesso:Maschio
  • Provenienza:Salem
  • Abilità:Esperto

#5 Inviato 14 May 2007 - 21:29 PM

veramente ben fatta Ala! ;)

Immagine inserita


Invece di cercare la tua strada nel buio, Raven, attendi l'alba


Yes I'd have to say I like my privacy!
And did you know you're on closed circuit TV?
So smile at me!





<div style="margin:20px;margin-top:5px" "="">

Spoiler




Il Manifesto del Making Italiano
SALVIAMO IL MAKING ITALIANO!!


Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k).
Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare, postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc
BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!!
Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (io, Blake e havah) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!!
Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!?
BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!!
Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero!

Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!!

    Valn
  • Nuovo Arrivato

  • Utenti
  • Rens: 1
  • 0
  • Stelletta
  • 32 messaggi
  • Sesso:Maschio
  • Provenienza:Caserta
  • Abilità:Novizio

#6 Inviato 02 July 2007 - 15:26 PM

fatta molto bene io ci ho capito molto anke se sono molto negato
non ho capito solo la differenza tra main e initialize

    marigno
  • Erunamo è il mio amoVe :*.

  • Utenti Speciali
  • Rens: 146
  • 0
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 2589 messaggi
  • Sesso:Maschio
  • Provenienza:Parma
  • Abilità:Adepto

#7 Inviato 02 July 2007 - 15:31 PM

Inizitalize, come dice il nome stesso "Inizializzazione", viene chiamato per primo nella classe in cui è presente. Di solito lo si utilizza per dare valori ecc. Mentre Main è il processo principale in uno script (Come dice Broly). Correggetemi se erro. :sisi:

    Valn
  • Nuovo Arrivato

  • Utenti
  • Rens: 1
  • 0
  • Stelletta
  • 32 messaggi
  • Sesso:Maschio
  • Provenienza:Caserta
  • Abilità:Novizio

#8 Inviato 02 July 2007 - 15:35 PM

adesso mi è venuta la scintilla ho capito main e initialize sn le def + importanti in una classe ke partono x prima era tutto qua scusate x il post troppo scemo

    Led
  • Utente occasionale

  • Utenti
  • Rens: 6
  • 0
  • StellettaStelletta
  • 113 messaggi
  • Sesso:Maschio
  • Abilità:Novizio

#9 Inviato 06 July 2007 - 18:40 PM

Prima di tutto complimenti davvero per la guida, sta di fatto che per fare gli esempi ho preso i lego, e ho costruito anche una base navale, navi ed aerei. A casa mia adesso è scoppiata la terza guerra mondiale xD
Volevo avere dei chiarimenti...
1)Una classe è paragonabile per esempio al titolo di un capitolo?
2)Un metodo è paragonabilie per esempio a un paragrafo di un capitolo?
3)Non mi è chiaro bene il concetto di oggetto, e istanza di una classe...cosa sarebbero?
Grazie anticipamente e ciao!

Modificato da Led, 06 July 2007 - 18:41 PM.

Involonatariamente ho saputo che Led vuol dire:
Light Emitting Diode (diodo ad emissione di luce) XD

    marigno
  • Erunamo è il mio amoVe :*.

  • Utenti Speciali
  • Rens: 146
  • 0
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 2589 messaggi
  • Sesso:Maschio
  • Provenienza:Parma
  • Abilità:Adepto

#10 Inviato 06 July 2007 - 18:50 PM

Rispondo alle prime due domande.
Come (credo) Alato ha già spiegato in questo tutorial, un classe è paragonabile ad un edificio, dove sono contenute delle stanze. In questo caso, l'edificio è la classe, e le stanze sono i def (I Metodi).
A sua volta nei def sono contenute le istruzioni, ovvero tutte le stringhe di codici. Ti faccio un esempio:

class Italia_Uno # <--- L'edificio completo, ovvero da dove inizia lo script
def initialize # <---- Il metodo (Una stanza dell'edificio)
		 # Istruzioni
		 # Istruzioni
	   end # <--- Fine metodo
	 end # <---- Fine classe (Edificio)

Quindi in sostanza, ciò che hai detto non è proprio così, ma potrebbe anche esserlo, dipende dal caso. Perché, se il libro, contiene tutta la programmazione con le varia classi, allora hai ragione. Ma se si tratta di una classe sola, allora è diverso: Il libro è la classe, i capitoli sono i metodi, e tutto ciò che è dentro ai capitoli sono le istruzioni.

Modificato da Marigno, 06 July 2007 - 18:51 PM.


    Led
  • Utente occasionale

  • Utenti
  • Rens: 6
  • 0
  • StellettaStelletta
  • 113 messaggi
  • Sesso:Maschio
  • Abilità:Novizio

#11 Inviato 06 July 2007 - 18:57 PM

Ok fin qui tutto chiaro!Però non mi è ancora chiaro il concetto di oggetto e istanza di una classe...
Involonatariamente ho saputo che Led vuol dire:
Light Emitting Diode (diodo ad emissione di luce) XD

    marigno
  • Erunamo è il mio amoVe :*.

  • Utenti Speciali
  • Rens: 146
  • 0
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 2589 messaggi
  • Sesso:Maschio
  • Provenienza:Parma
  • Abilità:Adepto

#12 Inviato 06 July 2007 - 19:07 PM

Allora, ora ti spiego.
Prima c'è da dire che istanza di una classe e oggetto sono la stessa cosa.
Ti faccio subito un esempio a mio parere semplice:

EDIT: Script corretto... Chiedo venia, distrazioni comuni. ._.

==========

class Scene_Prova
def main
print "Ora verrai portato ai titoli"
$scene = Scene_Title.new
end
end

==========

Apri rpgmaker xp e vai nello scripts editor, crea una nuova classe sopra Main, chiamala Scene_Prova e incollaci questo script che ho fatto sopra. Dopodiché crea un evento sulla mappa, e con il comando "Chiama scripts" o "Scripts" scrivi:

$scene = Scene_Prova.new

Salva il progetto e avvia il gioco. Vai dove c'è l'evento e guarda che succede. In questo momento hai utilizzato un oggetto, o per meglio dire una istanza di classe. Richiamando questo script.
Ora, non sò se hai capito, praticamente l'istanza di classe o oggetto, rappresenta i metodi, e le istruzioni contenute in esso.

Leggi meglio la FAQ del tutorial di Alato e capirai:

D. Cos’è un’istanza di una classe?
R. L’istanza di una classe, detta anche oggetto, è la rappresentazione concreta di tutti i metodi e le istruzioni contenuti in essa.
D. Qual è la differenza tra un’istruzione e un blocco?
R. Un blocco è un gruppo di istruzioni.
D. Come si fanno a definire classi e metodi?
R. La classe viene definita scrivendo class seguito dal nome identificativo della classe, che deve iniziare con una lettera maiuscola. Il metodo viene definito scrivendo def seguito dal nome identificativo del metodo, che deve iniziare con una lettera minuscola.
D. I metodi funzionano sempre allo stesso modo, qualunque sia il loro nome?
R. No. Ci sono due casi in cui funzionano in modo diverso: initialize e main.


Modificato da Marigno, 06 July 2007 - 19:32 PM.


    Led
  • Utente occasionale

  • Utenti
  • Rens: 6
  • 0
  • StellettaStelletta
  • 113 messaggi
  • Sesso:Maschio
  • Abilità:Novizio

#13 Inviato 06 July 2007 - 19:26 PM

Ricevo un bel messaggio di errore xD
Non tato per Title (tu hai scritto Titile xD), ma per il warning che ottengo dopo (vedi allegato)...

Allega File(s)

  • Allega file  errore.JPG   10.18K   4 Numero di downloads

Involonatariamente ho saputo che Led vuol dire:
Light Emitting Diode (diodo ad emissione di luce) XD

    marigno
  • Erunamo è il mio amoVe :*.

  • Utenti Speciali
  • Rens: 146
  • 0
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 2589 messaggi
  • Sesso:Maschio
  • Provenienza:Parma
  • Abilità:Adepto

#14 Inviato 06 July 2007 - 19:29 PM

Ohibò, ho sbagliato.
Fai def main.

    Led
  • Utente occasionale

  • Utenti
  • Rens: 6
  • 0
  • StellettaStelletta
  • 113 messaggi
  • Sesso:Maschio
  • Abilità:Novizio

#15 Inviato 06 July 2007 - 19:39 PM

Praticamente in questo modo richiamo la classe Scene_prova...quindi praticamente l'oggetto sarebbe come un if, while (non come risoluzione, ma come tipo)?
Involonatariamente ho saputo che Led vuol dire:
Light Emitting Diode (diodo ad emissione di luce) XD

    Led
  • Utente occasionale

  • Utenti
  • Rens: 6
  • 0
  • StellettaStelletta
  • 113 messaggi
  • Sesso:Maschio
  • Abilità:Novizio

#16 Inviato 07 July 2007 - 20:09 PM

C'è qualcuno ç_ç?
Involonatariamente ho saputo che Led vuol dire:
Light Emitting Diode (diodo ad emissione di luce) XD

    DaD
  • Animatore

  • Utenti
  • Rens: 0
  • 0
  • StellettaStellettaStellettaStelletta
  • 759 messaggi
  • Sesso:Maschio
  • Provenienza:Inferno ... si trova vicino Rò o_
  • Abilità:Novizio

#17 Inviato 07 July 2007 - 21:12 PM

Allur mo cerco di spiegarti a grandi linee come funziona, c'è da ricordare però che non mi ricordo un ghezz di rgss quindi prenderò come esempio il ruby liscio ;O;

Allora che cos'è una classe?
Una classe è essenzialmente un modello, e da questo modello che poi le nostre istanze e metodi potranno essere gestite, senza una classe naturalmente non si potrebbe istanziare un bel niente, come anche senza classe i metodi che la caratterizano non avrebbero ragione di esistere.

Ora lo so che la spiegazione fa cagare, quindi andiamo giù di esempio ;O;

class Prova
  def somma(a, b)
	   return a + b
  end
end

ok ora in quelle 3 righe potrebebro esserci 1000 e uno errori quindi non prenderlo per oro colato xD
Cmq cosa fa la nostra classe? nulla ... come ho detto una classe non è altro che un modello, e come tale da solo non serve ad un ghezz, ora la nostra classe possiede una carrateristica ossia un metodo (somma °o°) che rende la nostra classe particolare, e chiaro che quel metodo addiziona a e b, ma come possiamo addizionare due valori immessi in modo dinamico (mica tanto xD)?

Sempliciemente inizializziando la nostra classe quindi dovremo istanziarla :)

istanza = Prova.new
var = istanza.somma(2,2)
p " #{var}"

La variabile istanza, istanzia (xd) la nostra classe Prova e la rende operativa, se non l'avessimo instanziata non avremmo potuto usufruire del suo metodo somma (il mondo non sarebbe sopravissuto senza o_ò) e quindi non avremmo potuto addizionare i nostri due valori.

Quindi che cos'è un istanza? l'istanza è la messa in moto del nostro modello (classe), una volta istanziata una classe si rendono disponibili tutta una serie di carrateristiche (metodi) di quella specifica classe, che andremo poi ad utilizzare e sfruttare nei nostri programmini o scriptini ;O;

Spero di essere stato chiaro xD

    Led
  • Utente occasionale

  • Utenti
  • Rens: 6
  • 0
  • StellettaStelletta
  • 113 messaggi
  • Sesso:Maschio
  • Abilità:Novizio

#18 Inviato 08 July 2007 - 20:01 PM

Quindi in poche parole l'istanza contiene tutte quelle informazioni che faranno funzionare il nostro script?Come dichiariazioni di variabili, metodi da utilizzare e così via?
Involonatariamente ho saputo che Led vuol dire:
Light Emitting Diode (diodo ad emissione di luce) XD

    DaD
  • Animatore

  • Utenti
  • Rens: 0
  • 0
  • StellettaStellettaStellettaStelletta
  • 759 messaggi
  • Sesso:Maschio
  • Provenienza:Inferno ... si trova vicino Rò o_
  • Abilità:Novizio

#19 Inviato 08 July 2007 - 21:45 PM

Mhh ... non proprio ... cioè l'istanza inizializza la nostra classe, cioè tutta questa roba qua

class Prova
  def somma(a, b)
	   return a + b
  end
end
Non potrebbe essere utilizzata se non fosse istanziata, quindi un'istanza come ho detto prima "mette in moto" la nostra classe.

Spero di essermi fatto capire stavolta o_o"

    Led
  • Utente occasionale

  • Utenti
  • Rens: 6
  • 0
  • StellettaStelletta
  • 113 messaggi
  • Sesso:Maschio
  • Abilità:Novizio

#20 Inviato 08 July 2007 - 22:11 PM

E come si dichiara sta istanza o_O?Continuo a non capire @______@
Involonatariamente ho saputo che Led vuol dire:
Light Emitting Diode (diodo ad emissione di luce) XD




  • Feed RSS