Makaron600 - Nie 15 Sty, 2012 17:05 Temat postu: Czas gry w menuWitam.
Chciałbym, aby w mojej grze czas gry wyświetlał się w menu. Napisałem taki skrypt:
Spoiler:
Kod:
#==============================================================================
# ** Window_Time
#------------------------------------------------------------------------------
# Okienko z aktualnym czasem gry.
#==============================================================================
class Window_Time < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 160, WLH * 3)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@time = Graphics.frame_count / Graphics.frame_rate
hour = @time / 60 / 60
min = @time / 60 % 60
text = sprintf("Czas gry: %dh:%dmin", hour, min)
self.contents.font.color = normal_color
self.contents.draw_text(0, 0, 120, self.height / 2, text, 1)
end
end
W Scene_Menu dodałem:
Kod:
@time_window = Window_Time.new(0, 248)
I teraz kiedy włączam menu, na chwilę pokazuje się ramka z napisem 'Czas gry: 0h:0min' i znika... Macie może jakiś pomysł, jak zmusić to do działania? Z góry dzięki za odpowiedzi.Ayene - Pon 16 Sty, 2012 13:14 Samo dodanie okna w scenie nic nie robi. Musi się ono dodatkowo odświeżać, dlatego w definicji 'update' dopisz:
Kod:
@time_window.refresh
Ponadto okno po zamknięciu sceny, musi być usuwane, dlatego w def "terminate" wstaw:
Kod:
@time_window.dispose
Jeśli okno pojawia się Tobie na chwilę, po czym znika, oznacza to, że dodałeś jakiś skrypt, który nadpisuje Twoje zmiany. Upewnij się zatem, czy nie masz nad Main skryptu, który modyfikuje Menu.Makaron600 - Pon 16 Sty, 2012 16:24 Dzięki za odpowiedź, udało mi się rozwiązać problem. Okazało się, że wszystkiemu winien jest Jet's Time System.