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 sceneiem 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