UltimaForum

Tutorial [XP] - Rozszerzenie ekranu tytułowego

Czeliosss - Sob 06 Lut, 2010 14:25
Temat postu: Rozszerzenie ekranu tytułowego
Witam. Na forum www.rmxp.pl znalazłem tutka, który dodaje dodatkowe opcje do ekranu tytułowego. Np. Autorów, Samouczek.

Autorzy:
Spoiler:


1.W Edytorzy skryptów szukamy Scene_Title.

2.Szukamy linijki 37. Widzimy coś takiego
Kod:
    s1 = "Nowa gra"
    s2 = "Wczytaj"
    s3 = "Koniec"

Ten fragment zamieniamy na ten
Kod:
    s1 = "Nowa gra"
    s2 = "Wczytaj"
    s3 = "Autorzy"
    s4 = "Koniec"


3.Niżej jest taka linijka.
Kod:
@command_window = Window_Command.new(192, [s1, s2, s3])

Zmieniamy ją na to.
Kod:
@command_window = Window_Command.new(192, [s1, s2, s3, s4])


4.Następnie szukamy linijki 100.
Widzimy takie coś.
Kod:
      when 0
        command_new_game
      when 1
        command_continue
      when 2
        command_shutdown

Zamieniamy to na to.
Kod:
      when 0
        command_new_game
      when 1
        command_continue
      when 2
        command_autorzy
      when 3
        command_shutdown


5.Zjeżdżamy na sam dół i pod przedostatnim end wciskamy ENTER i tworzymy komendę_autorzy.
Na początku piszemy:
Kod:
def command_autorzy

Teraz napiszemy co się stanie jeśli wybierzemy tą Opcję.
Kod:
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Autorzy.new


6.Pierwsza linijka wywołuje dźwięk wyboru(można go zmienić w Data Base -> System). Druga linijka wywołuje Scene_Autorzy, czyli scene(strone) z listą autorów. Ale jeśli przetestujemy grę wyskoczy nam Error ponieważ nie mamy Scene_Autorzy. Do roboty....

7.Tworzymy nad Main nową klasę i nazywamy ją Scene_Autorzy. Teraz w polu do pisania skryptu piszemy:
Kod:
class Scene_Autorzy
  def main
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.picture("Autorzy")
    $game_system.bgm_play($data_system.title_bgm)
    Audio.me_stop
    Audio.bgs_stop
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @sprite.bitmap.dispose
    @sprite.dispose
  end

  def update
    if Input.trigger?(Input::B)
    $scene = Scene_Title.new
      end
    end
  end


I jeszcze najważniejsza rzecz co do tej części... Ta linijka: @sprite.bitmap = RPG::Cache.picture("Autorzy") ustawia tło strony, biorąc je z pliku "Autorzy" w folderze "Pictures". Wymiary obrazka to 640x480. I w tym obrazku wypisujemy autorów lub wszystko co chcemy.



Samouczek

Spoiler:


Robimy to samo co w Autorach pkt. 1-4. Oczywiście zamiast autorzy piszemy samouczek.

5.Teraz zjeżdżamy na sam dół i pod przedostatnim end wciskamy ENTER i wklejamy to.
Kod:
  def command_samouczek
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_stop
    Graphics.frame_count = 0
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    $game_party.setup_starting_members
    $game_map.setup("002")
    $game_player.moveto(7, 7)
    $game_player.refresh
    $game_map.autoplay
    $game_map.update
    $scene = Scene_Map.new
  end
end


6.Przypatrzmy się tym dwóm linijkom.
Kod:
    $game_map.setup("002")
    $game_player.moveto(7, 7)

W 1 linijce cyferki w nawiasie oznaczają ID mapy. (Jeśli nie wiesz jakie ID ma dana mapa to kliknij na nią prawym przyciskiem i wybierz Właściwości - tam gdzie się ustawia TileSet dla mapy. Nazwa okna mapy zawiera informację o ID mapy).
W 2 linijce w nawiasie liczby odpowiadają za ustawienie bohatera na mapie - są to współrzędne. Pierwsza liczba to współrzędna x(szerokość), a druga liczba to y(wysokość). Współrzędne ustala się za pomocą kratek (jedna kratka to 32px). Jeżeli nie wiesz jakie współrzędne ma mieć postać pojawiająca się na tej mapie to w Warstwie Zdarzeń kliknij na dowolny punkt na mapie i w prawym, dolnym rogu na pasku znajduje się informacja o współrzędnych postaci.
Teraz już wystarczy zrobić Samouczka za pomocą zdarzeń na mapie i gotowe.



Mam nadzieję, że wykorzystacie tego tutka w swojej grze.

Ayene - Wto 09 Lut, 2010 09:52

Bardzo przydatny tutorial. Brakowało czegoś podobnego na forum. Skoro przyszedł taki moment, że sami zaglądacie do skryptów, to pójdę Twoim śladem i również zacznę robić tego typu tutki. Pozdrawiam.
RtaMag2 - Pią 12 Lut, 2010 14:45

Tylko że ja niemam folderu pictures -_-
Ayene - Pią 12 Lut, 2010 15:40

Na pewno masz folder Pictures. W swoim projekcie wejdź w Graphics i tam się on znajduje. A jeśli go nie masz, to go po prostu stwórz.
RtaMag2 - Pią 12 Lut, 2010 17:00

Umnie pisze brakuje pliku Graphics/Pictures/Autorzy Graphics mam Pictures mam Autorzy mam taki folder i w folderze obrazek i niedziała pomocy :cry:
Malian - Pią 12 Lut, 2010 17:06

Musi to być tak: Graphics/Pictures a plik graficzny musi się w tym folderze nazywać Autorzy. Jak nie zrozumiesz to prześlę demko.
RtaMag2 - Pią 12 Lut, 2010 17:35

Dobra prześlij demko
Malian - Pią 12 Lut, 2010 17:48

Heh... Szkoda że nie mogę dać załącznika, ale cóż. Obrazek możesz zastąpić innym ale o wymiarach 640x480 i o takiej samej nazwie. Jeśli chcesz to do swojego projektu to skopiuj Scene_Title oraz Scene_Autorzy.

Link do demka http://www.speedyshare.co...rzenie_menu.rar

Czeliosss - Pią 12 Lut, 2010 20:27

Widzę, że skorzystacie z tego tutka. :-) Cieszę się, że się cieszycie. :mrgreen:
Yoroiookami - Pon 01 Mar, 2010 20:27

czeliosss - zapomniałeś o jednym "end" na dole:
Kod:
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Autorzy.new


To tylko trzy literki, przez nie kilka razy na nowo wypisywałem ten skrypcik, bo wywalało mi błąd...
Najlepiej jak to gdzieś dopiszesz, bo totalny łoś się nie połapie.
----------------------------

Gra mi się wyłącza gdy tylko klikam "Autorzy", dlaczego? o_o

Ayene - Pon 01 Mar, 2010 21:32

Musiałeś źle zrobić pkt. 4. Nie zmieniłeś command_shutdown na command_autorzy.
Yoroiookami - Pon 01 Mar, 2010 21:48

Rzeczywiście, działa. :)
Dzięki.

Amelanduil - Pią 12 Mar, 2010 17:40

a da ktoś skrypt żeby to zrobić w vx ? :<
radek02 - Nie 11 Kwi, 2010 09:57

no właśnie , przydałby sie ....
Yoroiookami - Czw 29 Lip, 2010 00:55

Może ktoś tutaj podać jak zrobić to dla 4 opcji? Bo zrobiłem coś, nie wywala błędów, jednak nie dochodzi do ostatniej opcji, nie można jej wybrać.
topola - Sob 23 Paź, 2010 12:08

mi wyskakuje, że jest jakiś błąd w 244 linijce(ostatnie end) robię wszystko zgodnie z instrukcją(pod samouczek)
Konrader97 - Sob 23 Paź, 2010 12:27

Musisz pobawić się w ustawianie "endu" jest tak w wielu skryptach. Poprubuj dodać 2 end albo dodaj spację przed 1. Jeżeli pomogłem kliknij Pomógł
topola - Sob 23 Paź, 2010 12:48

gdy chcę kliknąć opcje samouczek to wyskakuje mi taki błąd
Ayene - Sob 23 Paź, 2010 18:55

Bo odwołujesz się zapewne w 104 linijce do definicji "command_samouczek", a nigdzie jej nie masz zadeklarowanej...
Pepczak - Czw 27 Sty, 2011 10:16

A jak zrobić żeby w autorach, gdy włączę grę i nacisnę Autorzy to pokazały się napisy co je zrobiłem i zmieniła się od razu muzyka?
Shlizer - Czw 27 Sty, 2011 11:18

Audio_bgm puszcza muzykę, a obiekt bitmapy rysuje obraz oraz wypisuje tekst. Wciśnij w RM klawisz F1 - wszystko masz w dokumentacji. =)
Nemma12 - Pią 11 Lut, 2011 08:09

Ej mi tez cos takiego wyskakuje jak jemu tylko ze z autorami zrobiłem wszystko dobrze narysowałem w pictures autorzy postępowałem zgodnie z instrukcjami i mi nie działa...
Gniewny - Wto 03 Lip, 2012 21:29

Właśnie tego szukałem. Dzięki :-)

Powered by phpBB modified by Przemo © 2003 phpBB Group