Alato Posted September 17, 2006 Share Posted September 17, 2006 Corso di RGSS by AlatoLezione 1I componenti di uno scriptQuesta lezione presenta le prime basi sulla struttura degli script, utile alla comprensione del Ruby Game Scripting System (RGSS),e in particolare i seguenti argomentiSignificato e utilizzo di classe, metodo e oggettoSintassi di base per creazione di classi, metodi e oggettiMetodi particolariPer domande o chiarimenti, postate qui.Corso_di_RGSS_1.doc o•°' - '°•oHei, mitä kuuluu? http://imagegen.last.fm/winterheadphones/recenttracks/5/Alato.gif Link to comment Share on other sites More sharing options...
Cold Posted May 3, 2007 Share Posted May 3, 2007 non ho capito cos'è main T__T Link to comment Share on other sites More sharing options...
Broly88 Posted May 3, 2007 Share Posted May 3, 2007 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:http://www.naruto-kun.com/images/narutotest/shikamaru.jpg-----------------------------------------------------http://www.naruto-kun.com/images/narutotest/rocklee.jpg-----------------------------------------------------http://www.ff-fan.com/chartest/banners/auron.jpg Broly88'shttp://pokejungle.net/other/pokepet/trainers/e4k2.png http://pokejungle.net/other/pokepet/Charizard.gifFlame Dancer the level 99 Charizard! http://img259.imageshack.us/img259/7446/rockleeoj1.gif http://img233.imageshack.us/img233/7449/sorajm1.gif Link to comment Share on other sites More sharing options...
Cold Posted May 3, 2007 Share Posted May 3, 2007 (edited) 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? Edited May 3, 2007 by Cold Link to comment Share on other sites More sharing options...
Lestat Posted May 14, 2007 Share Posted May 14, 2007 veramente ben fatta Ala! ;) http://img90.imageshack.us/img90/4576/rbrlogofh8.gifInvece di cercare la tua strada nel buio, Raven, attendi l'albaYes 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 ItalianoSALVIAMO 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 etcBASTA 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!! Link to comment Share on other sites More sharing options...
Valn Posted July 2, 2007 Share Posted July 2, 2007 fatta molto bene io ci ho capito molto anke se sono molto negatonon ho capito solo la differenza tra main e initialize Link to comment Share on other sites More sharing options...
marigno Posted July 2, 2007 Share Posted July 2, 2007 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. Link to comment Share on other sites More sharing options...
Valn Posted July 2, 2007 Share Posted July 2, 2007 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 Link to comment Share on other sites More sharing options...
Led Posted July 6, 2007 Share Posted July 6, 2007 (edited) 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 xDVolevo 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! Edited July 6, 2007 by Led Involonatariamente ho saputo che Led vuol dire:Light Emitting Diode (diodo ad emissione di luce) XD Link to comment Share on other sites More sharing options...
marigno Posted July 6, 2007 Share Posted July 6, 2007 (edited) 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. Edited July 6, 2007 by Marigno Link to comment Share on other sites More sharing options...
Led Posted July 6, 2007 Share Posted July 6, 2007 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 Link to comment Share on other sites More sharing options...
marigno Posted July 6, 2007 Share Posted July 6, 2007 (edited) 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. Edited July 6, 2007 by Marigno Link to comment Share on other sites More sharing options...
Led Posted July 6, 2007 Share Posted July 6, 2007 Ricevo un bel messaggio di errore xDNon tato per Title (tu hai scritto Titile xD), ma per il warning che ottengo dopo (vedi allegato)... Involonatariamente ho saputo che Led vuol dire:Light Emitting Diode (diodo ad emissione di luce) XD Link to comment Share on other sites More sharing options...
marigno Posted July 6, 2007 Share Posted July 6, 2007 Ohibò, ho sbagliato.Fai def main. Link to comment Share on other sites More sharing options...
Led Posted July 6, 2007 Share Posted July 6, 2007 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 Link to comment Share on other sites More sharing options...
Led Posted July 7, 2007 Share Posted July 7, 2007 C'è qualcuno ç_ç? Involonatariamente ho saputo che Led vuol dire:Light Emitting Diode (diodo ad emissione di luce) XD Link to comment Share on other sites More sharing options...
DaD Posted July 7, 2007 Share Posted July 7, 2007 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 xDCmq 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 TPC Radio Site | Blog | Big-Bughttp://img102.imageshack.us/img102/4332/slackware2userbarok0.gifhttp://img141.imageshack.us/img141/1571/nokappams1cf8.png http://i29.tinypic.com/2vijdlh.jpg Link to comment Share on other sites More sharing options...
Led Posted July 8, 2007 Share Posted July 8, 2007 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 Link to comment Share on other sites More sharing options...
DaD Posted July 8, 2007 Share Posted July 8, 2007 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 endNon 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" TPC Radio Site | Blog | Big-Bughttp://img102.imageshack.us/img102/4332/slackware2userbarok0.gifhttp://img141.imageshack.us/img141/1571/nokappams1cf8.png http://i29.tinypic.com/2vijdlh.jpg Link to comment Share on other sites More sharing options...
Led Posted July 8, 2007 Share Posted July 8, 2007 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 Link to comment Share on other sites More sharing options...
ragnarokM Posted July 8, 2007 Share Posted July 8, 2007 istanza = NOME_CLASSE.new(PARAMETRI) Mai rimanere in debito con i giudici di un contest... http://img141.imageshack.us/img141/7035/renrenbf8.gifPowered by Piccolo© Link to comment Share on other sites More sharing options...
marigno Posted July 8, 2007 Share Posted July 8, 2007 Un esempio che ti ho già fatto: $scene = Scene_Title.new Link to comment Share on other sites More sharing options...
Led Posted July 8, 2007 Share Posted July 8, 2007 Quindi l'istanza è un semplice richiamo alla classe? Involonatariamente ho saputo che Led vuol dire:Light Emitting Diode (diodo ad emissione di luce) XD Link to comment Share on other sites More sharing options...
DaD Posted July 9, 2007 Share Posted July 9, 2007 E come si dichiara sta istanza o_O?Continuo a non capire @______@Ma te lo scritto grosso come una casa xD istanza = Prova.new Quindi l'istanza è un semplice richiamo alla classe?Bha diciamo che è così, però devi capire che è grazie all'istanza che la classe può mettere all'opera tutti i suoi metodi TPC Radio Site | Blog | Big-Bughttp://img102.imageshack.us/img102/4332/slackware2userbarok0.gifhttp://img141.imageshack.us/img141/1571/nokappams1cf8.png http://i29.tinypic.com/2vijdlh.jpg Link to comment Share on other sites More sharing options...
Led Posted July 9, 2007 Share Posted July 9, 2007 E quali tipi di istanze ci sono oltre $scene? Involonatariamente ho saputo che Led vuol dire:Light Emitting Diode (diodo ad emissione di luce) XD Link to comment Share on other sites More sharing options...
Recommended Posts