Krótki opis:
Skrypt wyświetla pasek ładowania podczas zapisywania i wczytywania gry. Można go także użyć do innych celów, takich jak np. zmiana mapy.
#--------------------------------------------------------------------------
# ● 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.
*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