UltimaForum

Wsparcie [VX] - Czas gry w menu

Makaron600 - Nie 15 Sty, 2012 17:05
Temat postu: Czas gry w menu
Witam.
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.

Powered by phpBB modified by Przemo © 2003 phpBB Group