Tłumaczenie:
Domilos (mogą być jakieś błędy, gdyż tłumaczyłem z portugalskiego)
Skrypt:
Spoiler:
Kod:
#===============================================================================
# +++ MOG - Advanced Load Bar VX (v1.0) +++
#===============================================================================
# By Moghunter
# Tłumaczenie: Domilos
# http://www.atelier-rgss.com
#===============================================================================
# Skrypt wyświetla pasek ładowania podczas zapisywania i wczytywania gry.
#
#===============================================================================
# Możesz użyć tego skryptu w inny sposób, jak np. przejście na inną mapę.
# Wystarczy wpisać to, w polecenie "Script":
#
# $scene = Scene_Load_Bar.new
#===============================================================================
module MOG_LOAD_BAR
# Czas ładowania (sekundy).
LOAD_DURATION = 3
# Pokazywać ładowanie podczas wczytywania gry?
ENABLE_LOAD_BAR_FOR_SCENE_LOAD = true
# Pokazywać ładowanie podczas zapisywania gry?
ENABLE_LOAD_BAR_FOR_SCENE_SAVE = true
# Nazwy obrazków, które będą służyły jako tło.
LOAD_BACKGROUND_PICTURES = [
""
# Wszystkie nazwy obrazków, oprócz ostatniego, muszą mieć przecinek po cudzysłowie.
]
# Pokazywać obrazki losowo?
PICTURE_RANDOM_SELECTION = true
# Pozycja generalnego paska.
LOAD_BAR_POSITION = [30,350]
# Pozycja kolorowego paska ładowania(?).
LOAD_BAR_METER_POSITION = [11,27]
# Pozycja tekstu.
LOAD_BAR_TEXT_POSITION = [ 10, -3]
# Dźwięk, jaki zostanie wydany po zakończeniu ładowania.
LOAD_SE = "Decision2"
# Szybkość animacji.
LOAD_BAR_FLOW_SPEED = 25
# Ustawienia, które nastąpią w menu po zapisaniu.
# Jeśli zapis jest wykonywany przez zdarzenie, nastąpi powrót do mapy.
RETURN_TO_SCENE = Scene_Menu.new(4)
# Lewitujący tekst?
ENABLE_FLOAT_TEXT_ANIMATION = true
# Wyświetlić sprite bohatera?
ENABLE_CHARACTER_SPRITE = true
# Pokazać boczne paski?
ENABLE_STRIPE_SPRITE = true
# Prędkość pasków.
STRIPE_SPEED = 1
end
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias load_bar_initialize initialize
def initialize
load_bar_initialize
@load_bar_pre_index = -1
@save_calling_load_bar = false
end
end
#=============================================================================
# ■ Game_System
#=============================================================================
class Game_System
attr_accessor :load_bar_pre_index
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias load_bar_initialize initialize
def initialize
load_bar_initialize
@load_bar_pre_index = 0
end
#--------------------------------------------------------------------------
# ● BGS Stop
#--------------------------------------------------------------------------
def bgs_stop
Audio.bgs_stop
end
end
#=============================================================================
# ■ Scene Load Bar
#=============================================================================
class Scene_Load_Bar
include MOG_LOAD_BAR
#--------------------------------------------------------------------------
# ● Main
#--------------------------------------------------------------------------
def main
Graphics.transition
execute_loop
execute_dispose
end
#--------------------------------------------------------------------------
# ● Execute Loop
#--------------------------------------------------------------------------
def execute_loop
loop do
Graphics.update
update
if $scene != self
break
end
end
end
#--------------------------------------------------------------------------
# ● update_float_text
#--------------------------------------------------------------------------
def update_float_text
return unless ENABLE_FLOAT_TEXT_ANIMATION
@text_float_time += 1
case @text_float_time
when 1..10
@text_float_y += 1
when 11..20
@text_float_y -= 1
else
@text_float_y = 0
@text_float_time = 0
end
@text_sprite.y = @text_fy + @text_float_y
end
#--------------------------------------------------------------------------
# ● Update Bar Flow
#--------------------------------------------------------------------------
def update_bar_flow
@bar_sprite.bitmap.clear
@bar_width = @bar_range * @load_duration / @load_duration_max
@bar_width = @bar_range if @load_duration > @load_duration_max
@bar_src_rect = Rect.new(@bar_flow, 0,@bar_width, @bar_height)
@bar_bitmap.blt(0,0, @bar_image, @bar_src_rect)
@bar_flow += LOAD_BAR_FLOW_SPEED
if @bar_flow >= @bar_image.width - @bar_range
@bar_flow = 0
end
end
#--------------------------------------------------------------------------
# ● Update Bar Duration
#--------------------------------------------------------------------------
def update_bar_duration
@load_duration += 1
if @load_duration == @load_duration_max
Audio.se_play("Audio/SE/" + LOAD_SE,100,100) rescue nil
elsif @load_duration == @load_duration_max + 10
if @bar_type == 0 or $game_temp.save_calling_load_bar
if @bar_type == 0
$game_temp.load_pre_bgm.play
$game_temp.load_pre_bgs.play
end
$scene = Scene_Map.new
else
$scene = MOG_LOAD_BAR::RETURN_TO_SCENE
end
$game_temp.save_calling_load_bar = false
end
end
end
#=============================================================================
# ■ Game_Temp
#=============================================================================
class Scene_File < Scene_Base
#--------------------------------------------------------------------------
# * Return to Original Screen
#--------------------------------------------------------------------------
alias mog_adv_load_bar_return_scene return_scene
def return_scene
mog_adv_load_bar_return_scene
$game_temp.save_calling_load_bar = true if @from_event
$scene = Scene_Load_Bar.new(1)
end
Różnie to bywa. Przy bardziej zaawansowanym projekcie czas wczytywania gry może być dłuższy (nawet kilkanaście sekund) i jak już mówiłam, jest to przyjemniejsze dla oka niż czarne tło Przy mniejszych projektach oczywiście ten skrypt jest zbędny ^^
Cóż... nie spotkałem się nigdy z tak długim wczytywaniem w RM
(nawet w dużych projektach), ale skoro twierdzisz, że tak nieraz bywa, to masz rację, że lepiej to wtedy wygląda niż czarne tło.
Osobiście wole widzieć pasek ładowania nawet, jeśli gra miałaby się ładować 2-3 sekundy. Wtedy wiem, że coś się dzieje i że to coś dzieje się bardzo szybko.
________________________ ignorowani: master miller; Han Solo; Justin Biber
*Solo Lee*, ale chodzi o to, że skrypt ten wydłuża czas ładowania o kolejne sekundy, a normalnie bez skryptu to ładowanie jest praktycznie nieodczuwalne.
*Solo Lee*, ale chodzi o to, że skrypt ten wydłuża czas ładowania o kolejne sekundy, a normalnie bez skryptu to ładowanie jest praktycznie nieodczuwalne.
Wydłuża ładowanie gry!?! A po co?
________________________ ignorowani: master miller; Han Solo; Justin Biber
Pomógł: 26 razy Dołączył: 25 Wrz 2011 Posty: 236 Skąd: ty się tu wziąłeś?
Wysłany: Czw 05 Lip, 2012 08:02
Cytat:
Może daje efekt ciekawy, ale wątpię by wszystkim chciało się czekać.
Niektórzy to mają problemy...2-3 sekundy to dla was tak długo ?Przecież możecie sobie wtedy pójść wypić kakałko Skrypt mi się podoba,wprowadza jakąś taką estetykę zapisu i wczytywania,nie tylko krótki dźwięk i przez chwilę czarny ekran.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum