KrĂłtki opis:
Prosty skrypt dodajÄ cy animowane Menu (Okna z zĹotem statusem itd. PojawiajÄ siÄ z kaĹźdej Ĺciany ekranu i tworzÄ znane nam zwykĹe Menu z RPG Makera )
Autor:
Nelderson
TĹumaczenie:
Danieo
KompatybilnoĹÄ:
RPG Maker VX Ace
Skrypt:
Spoiler:
Kod:
#===============================================================================
# N.A.S.T.Y. Animated Main Menu
# Nelderson's Awesome Scripts To You
# Autor: Nelderson
# TĹumacz: Danieo
# Stworzono: 12/20/2011
#===============================================================================
# Historia Wersji:
# - Wersja 1.0 - Pierwasza wersja z paroma bĹÄdami :p
# - Version 1.1 - Dodano odwrotne przejĹcie miÄdzy Menu ,a ekranem tytuĹowym.
#===============================================================================
# *Notatki:
# - Przy otwieraniu menu, poszczegĂłlne plansze przesuwajÄ siÄ
# dodajÄ c miĹy efekt dla oczy
#
#===============================================================================
# Kredyty:
#
# -Nelderson
#===============================================================================
module NEL
#PrÄdkoĹÄ przesuwania okien(Im wiÄksza liczba tym szybciej okna siÄ przesuwajÄ
#(Liczby musi byÄ powyĹźej 0)
#Ustawia z ktĂłrej strony majÄ nadlecieÄ okna
RANDOM_TRANS = true ####JESZCZE NIE MA ZASTOSOWANIA#####
end
class Scene_Menu < Scene_MenuBase
#--------------------------------------------------------------------------
# ● Przetwarzanie !!! Nie zmieniaÄ nic !!!
#--------------------------------------------------------------------------
alias nel_custom_per_trans start
def start
nel_custom_per_trans
@trans_flag = true
end
#--------------------------------------------------------------------------
# ● Wiersz poleceĹ !!! Bez doĹwiadczenia w programowaniu nie zmieniaÄ !!!
#--------------------------------------------------------------------------
alias nel_cre_comm_win create_command_window
def create_command_window
nel_cre_comm_win
dir = (rand(4)+ 1).round
dir *= 2
case dir
when 2; @command_window.y = 416#Down
when 4; @command_window.x = -160 #Left
when 6; @command_window.x = 544#Right
when 8; @command_window.y = 0 - @command_window.height#Up
end
@command_win_dir = dir
end
#--------------------------------------------------------------------------
# ● Wiersz okna z zĹotem !!! Bez doĹwiadczenia w programowaniu nie zmieniaÄ !!
#--------------------------------------------------------------------------
alias nel_creat_goldd create_gold_window
def create_gold_window
nel_creat_goldd
dir = (rand(4)+ 1).round
dir *= 2
case dir
when 2; @gold_window.y = 416#Down
when 4; @gold_window.x = 0 - @gold_window.width #Left
when 6; @gold_window.x = 544#Right
when 8; @gold_window.y = 0 - @gold_window.height #Up
end
@gold_win_dir = dir
end
#--------------------------------------------------------------------------
# ● Wiersz okna z boohaterami !!!Bez doĹwiadczenia w programowaniu nie zmieniaÄ
#--------------------------------------------------------------------------
alias nel_creat_stat_win create_status_window
def create_status_window
nel_creat_stat_win
dir = (rand(4)+ 1).round
dir *= 2
case dir
when 2; @status_window.y = 416#Down
when 4; @status_window.x = 0 - @status_window.width #Left
when 6; @status_window.x = 544 #Right
when 8; @status_window.y = 0 - @status_window.height #Up
end
@status_win_dir = dir
end
def update
if !SceneManager.background_bitmap.nil? && @trans_flag == true
perform_nel_transition
end
update_basic
end
def perform_nel_transition
gold_window_trans
status_window_trans
command_window_trans
@trans_flag = false
end
def gold_window_trans(dir = @gold_win_dir)
orig_x = 0
orig_y = Graphics.height - @gold_window.height
sp = NEL::TRANS_SPEED[:gold]
loop do
@gold_window.y -= sp if dir == 2
@gold_window.y = orig_y if @gold_window.y <= orig_y && dir == 2
@gold_window.x += sp if dir == 4
@gold_window.x = orig_x if @gold_window.x >= orig_x && dir == 4
@gold_window.x -= sp if dir == 6
@gold_window.x = orig_x if @gold_window.x <= orig_x && dir == 6
@gold_window.y += sp if dir == 8
@gold_window.y = orig_y if @gold_window.y >= orig_y && dir == 8
Graphics.update
break if @gold_window.y == orig_y && @gold_window.x == orig_x
end
end
def status_window_trans(dir = @status_win_dir)
orig_x, orig_y = @command_window.width, 0
sp = NEL::TRANS_SPEED[:actor]
loop do
@status_window.y -= sp if dir == 2
@status_window.y = orig_y if @status_window.y <= orig_y && dir == 2
@status_window.x += sp if dir == 4
@status_window.x = orig_x if @status_window.x >= orig_x && dir == 4
@status_window.x -= sp if dir == 6
@status_window.x = orig_x if @status_window.x <= orig_x && dir == 6
@status_window.y += sp if dir == 8
@status_window.y = orig_y if @status_window.y >= orig_y && dir == 8
Graphics.update
break if @status_window.x == orig_x && @status_window.y == orig_y
end
end
def command_window_trans(dir = @command_win_dir)
orig_x, orig_y = 0, 0
sp = NEL::TRANS_SPEED[:command]
loop do
@command_window.y -= sp if dir == 2
@command_window.y = orig_y if @command_window.y <= orig_y && dir == 2
@command_window.x += sp if dir == 4
@command_window.x = orig_x if @command_window.x >= orig_x && dir == 4
@command_window.x -= sp if dir == 6
@command_window.x = orig_x if @command_window.x <= orig_x && dir == 6
@command_window.y += sp if dir == 8
@command_window.y = orig_y if @command_window.y >= orig_y && dir == 8
Graphics.update
break if @command_window.x == orig_x && @command_window.y == orig_y
end
end
alias nel_term_trans_win terminate
def terminate
rev_gold_window_trans
rev_status_window_trans
rev_command_window_trans
nel_term_trans_win
end
def rev_gold_window_trans(dir = @gold_win_dir)
case dir
when 2
orig_x, orig_y = @gold_window.x, Graphics.height
when 4
orig_x, orig_y = 0 - @gold_window.width, @gold_window.y
when 6
orig_x, orig_y = Graphics.width, @gold_window.y
when 8
orig_x, orig_y = @gold_window.x, 0 - @gold_window.height
end
sp = NEL::TRANS_SPEED[:gold]
loop do
@gold_window.y += sp if dir == 2
@gold_window.y = orig_y if @gold_window.y >= orig_y && dir == 2
@gold_window.x -= sp if dir == 4
@gold_window.x = orig_x if @gold_window.x <= orig_x && dir == 4
@gold_window.x += sp if dir == 6
@gold_window.x = orig_x if @gold_window.x >= orig_x && dir == 6
@gold_window.y -= sp if dir == 8
@gold_window.y = orig_y if @gold_window.y <= orig_y && dir == 8
Graphics.update
break if @gold_window.y == orig_y && @gold_window.x == orig_x
end
end
def rev_status_window_trans(dir = @status_win_dir)
case dir
when 2
orig_x, orig_y = @status_window.x, Graphics.height
when 4
orig_x, orig_y = 0 - @status_window.width, @status_window.y
when 6
orig_x, orig_y = Graphics.width, @status_window.y
when 8
orig_x, orig_y = @status_window.x, 0 - @status_window.height
end
sp = NEL::TRANS_SPEED[:actor]
loop do
@status_window.y += sp if dir == 2
@status_window.y = orig_y if @status_window.y >= orig_y && dir == 2
@status_window.x -= sp if dir == 4
@status_window.x = orig_x if @status_window.x <= orig_x && dir == 4
@status_window.x += sp if dir == 6
@status_window.x = orig_x if @status_window.x >= orig_x && dir == 6
@status_window.y -= sp if dir == 8
@status_window.y = orig_y if @status_window.y <= orig_y && dir == 8
Graphics.update
break if @status_window.x == orig_x && @status_window.y == orig_y
end
end
def rev_command_window_trans(dir = @command_win_dir)
case dir
when 2
orig_x, orig_y = @command_window.x, Graphics.height
when 4
orig_x, orig_y = 0 - @command_window.width, @command_window.y
when 6
orig_x, orig_y = Graphics.width, @command_window.y
when 8
orig_x, orig_y = @command_window.x, 0 - @command_window.height
end
sp = NEL::TRANS_SPEED[:command]
loop do
@command_window.y += sp if dir == 2
@command_window.y = orig_y if @command_window.y >= orig_y && dir == 2
@command_window.x -= sp if dir == 4
@command_window.x = orig_x if @command_window.x <= orig_x && dir == 4
@command_window.x += sp if dir == 6
@command_window.x = orig_x if @command_window.x >= orig_x && dir == 6
@command_window.y -= sp if dir == 8
@command_window.y = orig_y if @command_window.y <= orig_y && dir == 8
Graphics.update
break if @command_window.x == orig_x && @command_window.y == orig_y
end
end
end
Dodatkowe informacje:
Skrypt moĹźe nie wspĂłĹdziaĹaÄ z innymi skryptami zmieniajÄ cymi Menu.
hmmm mi nie chce dziaĹaÄ nawet po usuniÄciu innych skryptĂłw zwiÄ zanych z menu... nie wiem do koĹca czemu. Nie potrzebujÄ tego w sumie ale lepiej chyba poinformowaÄ Ĺźe istnieje taki problem.
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