#====================================================
# Ekran tytułowy by Miget man12
#-----------------------------------------------------------------------------
# Skrypt umożliwia przyporządkowanie nowych czcionek do poleceń w ekranie
# tytułowym. Dodatkowo skrypt usuwa okienko i podświetla zaznaczony tekst.
#=========================================================
$imported = {} if $imported.nil?
$imported["Mm12MTUGTitle"] = true
#=========================================================
module Mm12
COMMAND_TEXT = [] # Nie modyfikować!
# Nowa Gra
COMMAND_TEXT[0] = "Nowa Gra"
# Kontynuuj
COMMAND_TEXT[1] = "Kontynuuj"
# Wyjście
COMMAND_TEXT[2] = "Wyjście"
# Dodatkowe polecenie
COMMAND_TEXT[3] = "Menu (?)"
# Działanie komend - odwołanie polecenia do definicji w skrypcie
COMMAND_ACTION = [] # Nie modyfikować / usuwać!
OMMAND_ACTION[0] = "command_new_game" # Nowa Gra
COMMAND_ACTION[1] = "command_continue" # Kontynuuj
COMMAND_ACTION[2] = "command_shutdown" # Wyjście
COMMAND_ACTION[3] = "$scene = Scene_Menu.new"
# Czcionki według kolejności - jeśli nie będzie pierwszej, to wyświetli drugą
COMMAND_FONT = ["Times New Roman", "Verdana", "Arial", "Courier New"]
# Wielkość napisów
COMMAND_TEXT_SIZE = 28
# Cień pod napisami (true / false)
COMMAND_SHADOW = false
# Pogrubienie napisów (true / false)
COMMAND_BOLD = true
# Kursywa (true / false)
COMMAND_ITALIC = true
# Kolor napisów - kolory RGB
# Color.new(red, green, blue)
# Color of Command Text when not selected
COMMAND_COLOR_NOT = Color.new(0,0,0)
# Color Command Text flashes when selected
COMMAND_COLOR_YES = Color.new(205,205,205)
COMMAND_X = [] # Nie modyfikować / usuwać!
COMMAND_Y = [] # Nie modyfikować / usuwać!
# wspólrzędna X dla "Nowej Gry"
COMMAND_X[0] = 50
# wspólrzędna X dla "Kontynuuj"
COMMAND_X[1] = 80
# wspólrzędna X dla "Wyjścia"
COMMAND_X[2] = 110
# wspólrzędna X dla "Menu ?"
COMMAND_X[3] = 140
# wspólrzędna Y dla "Nowej Gry"
COMMAND_Y[0] = 170
# wspólrzędna Y dla "Kontynuuj"
COMMAND_Y[1] = 210
# wspólrzędna Y dla "Wyjścia"
COMMAND_Y[2] = 250
# wspólrzędna Y dla "Menu ?"
COMMAND_Y[3] = 290
# Nazwa obrazka w tle (Domyślny to "Title")
TITLE_GRAPHIC_NAME = "Title"
# Folder, w którym umieszczony jest obrazek (Domyślny to "System")
TITLE_GRAPHIC_FOLDER = "System"
end
module Cache
def self.title(filename)
load_bitmap("Graphics/#{Mm12::TITLE_GRAPHIC_FOLDER}/", filename)
end
end
class Scene_Title < Scene_Base
def main
if $BTEST
battle_test
else
super
end
end
def start
super
@com_wait = 1
@sel_index = 0
load_database
create_game_objects
check_continue
create_title_graphics
create_command_graphics
play_title_music
end
def perform_transition
Graphics.transition(20)
end
def post_start
super
end
def pre_terminate
super
end
def terminate
super
dispose_command_graphics
snapshot_for_background
dispose_title_graphics
end
def update
super
update_com_graphics
if Input.trigger?(Input::DOWN)
pre_mvmt
if @sel_index == (Mm12::COMMAND_TEXT.size-1)
@sel_index = 0
else
@sel_index += 1
end
post_mvmt
elsif Input.trigger?(Input::UP)
pre_mvmt
if @sel_index == 0
@sel_index = (Mm12::COMMAND_TEXT.size-1)
else
@sel_index -= 1
end
post_mvmt
elsif Input.trigger?(Input::C)
eval(Mm12::COMMAND_ACTION[@sel_index])
end
end
def update_com_graphics
@com_wait -= 1
if @com_wait <= 0
@com_graphics[@sel_index].flash(Mm12::COMMAND_COLOR_YES,60)
@com_wait = 60
end
for sprt in @com_graphics
sprt.update
end
end
def post_mvmt
Sound.play_cursor
@com_graphics[@sel_index].flash(Mm12::COMMAND_COLOR_YES,60)
@com_wait = 60
end
def pre_mvmt
@com_graphics[@sel_index].flash(Mm12::COMMAND_COLOR_NOT,60)
end
def check_continue
@continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
end
def create_title_graphics
@back_sprite = Sprite.new
@back_sprite.bitmap = Cache.title(Mm12::TITLE_GRAPHIC_NAME)
end
def dispose_title_graphics
@back_sprite.bitmap.dispose
@back_sprite.dispose
end
def create_command_graphics#window
@command_window = Window_Base.new(250, 350, 44, 50)
@command_window.opacity = 0
@command_window.back_opacity = 0
@command_window.contents_opacity = 0
@command_window.openness = 0
@com_graphics = []
for index in 0..(Mm12::COMMAND_TEXT.size-1)
@com_graphics[index] = Sprite.new
@com_graphics[index].bitmap = Bitmap.new(200,200)
@com_graphics[index].bitmap.font.name = Mm12::COMMAND_FONT
@com_graphics[index].bitmap.font.size = Mm12::COMMAND_TEXT_SIZE
@com_graphics[index].bitmap.font.color = Mm12::COMMAND_COLOR_NOT
@com_graphics[index].bitmap.font.shadow = Mm12::COMMAND_SHADOW
@com_graphics[index].bitmap.font.bold = Mm12::COMMAND_BOLD
@com_graphics[index].bitmap.font.italic = Mm12::COMMAND_ITALIC
@com_graphics[index].ox = -(Mm12::COMMAND_X[index])
@com_graphics[index].oy = -(Mm12::COMMAND_Y[index])
rect = @com_graphics[index].bitmap.text_size(Mm12::COMMAND_TEXT[index])
@com_graphics[index].bitmap.draw_text(0, 0, rect.width, rect.height, Mm12::COMMAND_TEXT[index])
end
end
def dispose_command_graphics
for com in @com_graphics
com.dispose unless com.nil?
end
@command_window.dispose
end
def close_command_window
return
end
end
Polecam ten skrypt mniej użerania się i w dodatku można go modyfikować o ile się znasz na skryptach