...: Strona :...
News
Archiwum
Redakcja
Chat ( 1 )
Forum
Księga Gości
Imprezy
Linki
Wymiana
Radio

- Download -
Programy
Gry
Zasoby
Music
Sound
ICO

- RPG Maker -
RPGMV
RPGVXAce
RPGVX
RPGXP
RPGME
SimRPG95
RPG95

- Projekty -
Virtua Twierdza
Pogromca II

- Krypta -
Kompendium
Scenariusze
Questy
Artykuły

...: Buttony :...
Dragon Ball Nao
M.U.G.E.N Samouczek
Pokemon Valhalla
Tsukuru Archive
Crasher World
Pillars of Eternity POLSKA - największy portal Pillars of Eternity (Project Eternity)
Kroniki Fallathanu - Prawdziwy mmoRPG w przegl?darce
Modules -  the greatest and ultimate place for every tracked-music sympathizer
ZAYKOWORKS





Informacje || Problemy z RPGXP || Zgłoś nowe materiały
RPG Maker :: RPG Maker XP

Przekazywanie zmiennych


OK., więc zacznijmy Nie jestem dobrym skryptowcem, dopiero zaczynam, ale tym, co już umiem chce się z wami podzielic, W dzisiejszej lekcji zajmiemy się zagadnieniem?.. Przekazywania zmiennej. A więc: Posłużę się najłatwiejszym przykładem. Otwórzcie script editor klawiszem "f11" i wejdźcie sobie w klasę "scene_end".

Jak już poznajesz na początku masz trzy komendy prosta sprawa. S1, s2 i s3 to w sumie tez zmienne, ale tekstowe, czyli stringi. To tez już było wyjaśniane. Zmiennej "s1" znakiem = przypisuje się tekst. To tez na razie tylko przypomnienie. Ale spójrz niżej.


Widzisz w nawiasie 192 I inne trzy liczby. Nie ciekawi cię zmienna klasowa command_window? W takim razie przejdź do klasy Window_command. Co widzisz?


Def initialize oznacza ze to ma być wykonywane przy wywołaniu teko okna. Ale popatrz, co jest obok. Hmmm, Nawias? A w nawiasie jakieś zmienne. Width i commands. Ale, po co one jak nie ma na nich żadnych działań ani nic się im nie przypisuje. Otoz: są to zmienne, które musisz przekazać wywołując to okna: Porównaj:

@command_window = Window_Command.new(192, [s1, s2, s3]) - wywolanie okna

def initialize(width, commands) - pierwsze linijki w window_command

Następuje przekazanie zmiennych w nawiasach.

W ogóle to powinienem wyjaśnić, do czego jest klasa window_command. A więc jest to klasa, która odpowiada za wszystkie okna, w których mamy jakiś wybór komend. Jest w niej cala procedura jak to okno ma być tworzone. Oczywiście takie rzeczy jak komendy i szerokość możemy modyfikować z innych klas właśnie przekazaniem zmiennej.

A teraz będzie prostszy przykład. Wróćmy do scene_end. Znajdźmy def command_cancel. Jak już było powiedziane jest to co się stanie po wywołaniu komendy anuluj. Dla przypomnienia jest to wywoływane w tej serii linijek,




Jeżeli wybieramy 3 opcje, czyli anuluj to wywołuje się komenda cancel (pamiętajcie ze musimy liczyć z zerem) ok., ale koniec przypomnień. Zejdźcie już do tego def command_cancel:


Widzimy zmienną, $sene która ustawia się na menu. Hmmm czyżby znowu nawias i jakieś tajemnicze 5 w dodatku? Ok. nie przedłużajmy tylko biegiem do scene_menu.


Def_initialize, czyli co ma być, jak startniemy tą scene. Tu znowu mamy zmienną w nawiasie, ale od razu dopisane do niej jest zero. Znów porównajcie:


Tu jest trochę inaczej. Znów następuje przekazanie, czyli zmienna menu_index ustawia się na 5 przekazane ze scene_end, lecz tu jest różnica, że jeżeli nie przekażemy tej zmiennej to ona ustawi się na zero. Proste no nie? Zaraz potem zmienna klasowa @menu_index ustawia se wartość menu index bez tej małpy. A zaraz wytłumaczę, do czego ta zmienna jest i po co przekazujemy coś ze scene end. Otóż, rozróżniamy następujące grosze, (buahaha) Przejdźcie niżej do linijki 27"

To znaczy że ustawiamy pozycje kursora na wartość @menu_index czyli skoro przekazaliśmy ze scene_end wartość 5 to ustawiamy pozycje na 6 komendę (bo jeszcze te głupie 0) Pytacie po co? A sprawdźcie, co to za komenda (na samej górze scene menu)

Oczywiście skoro wybraliśmy koniec i wyskoczyło nam scene_end to jak anulujemy, czyli wrócimy z tego scene_end to, dlaczego miałby się, resetowac kursor? Niech zostanie tam gdzie był jak wybieraliśmy koniec. To samo zauważymy jak pogrzebiemy w scene’iem i znajdziemy tam, co się stanie jak escape naciśniemy. Walnie nas wtedy powrotem do scene menu z tym, że w nawiasie będzie ile? No nie mówcie, że nie wiecie. No "0", pamiętajcie o ty głupim "0".

Ok. mam nadzieje ze było to zrozumiale. Jak nie to wróćcie tu po innych lekcjach Ja w każdym razie mam nadzieje że się to przydało.


Autor:Squcloud
Email: squcloud@tlen.pl