UltimaForum

Wsparcie [XP] - Jak zrobić scene(Np.Scene_Map)?

Dooz - Pią 23 Lip, 2010 11:16
Temat postu: Jak zrobić scene(Np.Scene_Map)?
Cześć,mam pewien problem,otóż nie wiem jak zrobić scene i pokazywać w niej obrazki.
W rgss siedzę już dość długo,ale zawsze z tym miałem problem.

Wynagrodzenie za pomoc:Miejsce w credit's każdej mojej gry(No chyba że zapomnę.).

Lartarin - Pią 23 Lip, 2010 11:41

-Stwórz New Eventa
-Event Comands 2 strona
-pierwszy po prawej od góry -> show picture (najlepiej na opacity 0)
-następnie przycisk niżej move picture i tu ustaw na opacity 255 oraz czas w jakim ma się pojawić obrazezek
-Zanikanie obrazka podobnie move picture opacity 0 i czas w jakim ma zaniknąć
-Później erase picture nr x i all ^^

Ale chaotycznie napisałam ^^
Pozdrawiam

Colombos - Pią 23 Lip, 2010 11:46

Sądzę, że chodziło mu raczej o pokazywanie obrazków w skrypcie.
Zobacz ten poradnik. Z jego pomocą nauczysz się tworzyć okna i pokazywać w nich tekst czy właśnie obrazki.

shiwt - Pią 23 Lip, 2010 11:50

Nie zbyt rozumiem, ale chodzi ci o to jak wywołać scene ?
np.: $scene = Scene_Map.new
?

Dooz - Pią 23 Lip, 2010 11:58

Hmm,może bardziej zrozumiale to wytłumaczę.

Chodziło mi o to jak zrobić zwykłą Scene_Nazwa_Sceny, i do tego jak wywołać w niej obrazek bez robienia okienka np.
@obrazek = wywołanie obrazka

Ayene - Pią 23 Lip, 2010 12:10

Najważniejsze dwie definicje w klasie Scene to definicja "main" i "update", czyli to, co się wczytuje i usuwa oraz to, co się aktualizuje.

Podejrzyj inne klasy Scene i sam zobacz z czego się składają.
Jeśli chcesz bezpośrednio w klasie wywołać obrazek bez okna to użyj np. na początku def main:
Kod:
@image = Sprite.new
@image.bitmap = RPG::Cache.picture("nazwa")

gdzie nazwa to nazwa obrazka umieszczonego w folderze Graphics/Pictures

Umieszczając jednak obrazek należy go w odpowiednim momencie również usunąć:
Kod:
@image.dispose

lub
Kod:
@image.bitmap.dipose

(na końcu def main).

Dooz - Pią 23 Lip, 2010 12:42

Super,działa,ale jak zrobić tak aby po naciśnięciu Esc(Escape) wychodziło Mi na mapę lub do menu?
Sabikku - Pią 23 Lip, 2010 14:35

W 'update' twojej sceny (update jest wywoływane w pętli 'loop do' w main) musisz umieścić warunek:
Kod:
if Input.trigger?(Input::B)
  $scene = Scene_Menu.new
end

Pierwsza linijka to warunek sprawdzający, czy naciśnięto przycisk B (ESC). Druga to przeniesienie do nowej sceny. Możesz przed nią wstawić np. jakiś dźwięk (podpatrz w innych scenach).

Dooz - Pią 23 Lip, 2010 15:45

Cytat:
Pierwsza linijka to warunek sprawdzający, czy naciśnięto przycisk B (ESC). Druga to przeniesienie do nowej sceny. Możesz przed nią wstawić np. jakiś dźwięk (podpatrz w innych scenach).


Wiem,wiem,kiedyś Mi to tłumaczyłeś.

Cytat:
if Input.trigger?(Input::B)
$scene = Scene_Menu.new
end


Hmm,myślałem że będzie coś więcej,np. tak(Ze skryptu: Fantasy Bestiary):
Cytat:
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Fantasy_Bestiary::BACK_TO_MENU ? Scene_Menu.new : Scene_Map.new
end


Dzięki za pomoc,umieszczę was w credit's każdej mojej gry,w której sam robiłem scene_coś_tam.


Powered by phpBB modified by Przemo © 2003 phpBB Group