Wersja w ekranie tytułowym
Witam was wszystkim na mojej pierwszej prawdziwej porady związanej z Ruby (wcześniej tylko dawałem słabe skrypty - teraz nauczę was robić słabe skrypty!).
Na mojej premierowej poradzie opiszę jak zrobić okienko z wersją gry w titlu(tak wiem o tym, jest taki skrypt na gospodzie, tylko że do VX - przysięgam że nie korzystałem z niego nawet w najmniejszym stopniu podczas tworzenia tej wersji).
Uwaga, proszę o zaprzestanie czytania dalej jeżeli nie znamy chociaż podstaw ruby!
Zaczynamy!
Wchodzimy do edytora skryptów i tworzymy nowy skrypt (tam po lewej stronie) - będzie on tym okienkiem z wersją gry. Nazywamy go byle jak ponieważ to i tak nie ma znaczenia (a jeżeli chcecie mieć już ładnie to nazwijcie to "Window_Version"). Teraz przechodzimy na prawą stronę. Zaczniemy od określenia klasy skryptu, więc piszemy:
class Window_Version < Window_Base
To oznacza że ten skrypt ma klasę Window_Version i jest podporządkowany pod klasę Window_Base. Potem należy skrypt... hmm... zainicjować? włączyć? coś w tym stylu, a do tego jest...
def initialize
Teraz czas stworzyć samo okno - do tego posłuży nam super komenda! Komenda super tworzy okno o jakich wymiarach chcemy. O ile nie wiem do czego służą dwie pierwsze liczby, to dwie ostatnie określają szerokość i wysokość okna w pikselach:
Super ( ?, ?,szerokość, wysokość) - właśnie w taki sposób. Można spokojnie dać wymiary okna na:
super (0, 0, 160, 60)
Teraz czas na komendę która nie wiem do czego służy (ale wydaje mi się że ładuje wszystko graficzne użyte później):
self.contents = Bitmap.new(width - 32, height - 32)
Potem ładowanie czcionek:
self.contents.font.name = $defaultfonttype => typ czcionki domyślny
self.contents.font.size = $defaultfontsize => rozmiar czcionki domyślny
Rozmiar najlepiej zmniejszyć - po co taka duża czcionka na napis informujący o wersji gry? - dlatego właśnie dopisujemy '- 4' zaraz po '$defaultfontsize'. Tak to ma wyglądać:
self.contents.font.size = $defaultfontsize - 4
Teraz przezroczystość, odświeżanie i koniec inicjalizacji:
self.back_opacity = 160
refresh
end
Teraz musimy zdefiniować 'refresh' (nie pytajcie mnie dlaczego, ale jest to zawartość okienka). Potem dajemy kolejną linijkę skryptu w której nie wiem o co chodzi i kolor czcionki na domyślną. Ma to wyglądać tak:
def refresh
self.contents.clear
self.contents.font.color = normal_color
Normal_color macie zdefiniowany w Window_Base jeżeli kogoś to interesuje (chociaż wątpie - bo jak ktoś potrafi zmienić kolor czcionki potrafi też i to). Teraz czas określić (w końcu) co ma być wyświetlone w okienku. A więc używamy komendy self.contents.draw_text w taki sposób:
self.contents.draw_text(0, 0,160, 32, "Wersja gry: 1.0")
Jakby kogoś interesowało to w nawiasie mamy:
(współrzędna x tekstu, współrzędna y tekstu, szerokość tekstu, nie pytajcie mnie co to ale ma coś do osi y, "tekst")
I kończymyt endem. Całość powinna wyglądać tak:
Oczywiście to jeszcze nie koniec. Dopiero stworzyliśmy okno z wersją gry, teraz trzeba je jeszcze umieścić. W tym celu wchodzimy do Scene_Title i szukamy linii: '@command_window.y = 288' (można użyć Ctrl+F). Pod nią wpisujemy/wklejamy to:
Dzięki temu okienko pojawi się w titlu i będzie na współrzędnych (x: 0, y: 420) czyli w lewym dolnym rogu ekranu. Jak ktoś chce żeby było w prawym dolnym to niech wpisze zamiast '@wersja_window.x = 0' - '@wersja_window.x = 480'. Jeżeli zaś chcecie mieć to w górnym rogu zamiast '@wersja.window.y = 420' wpisujemy '@wersja.window.y = 0'.
Teraz ostatni krok. Musimy spowodować aby okienko znikało po kliknięciu którejkolwiek z opcji. Tak więc (wciąż w Scene_Title) szukamy linijki '@command_window.dispose' i pod nią wklejamy '@wersja_window.dispose'. Testujemy - jeżeli wszystko działa to... Gratuluję, zrobiłeś skrypt wyświetlający wersję gry w titlu!
Fin.
Z poważaniem,
Sozan
Autor: Sozan
Email:
sozan5@wp.pl