Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Sro 13 Lip, 2011 12:36
Napisy Końcowe [XP]
~ Napisy Końcowe [XP] ~
Krótki opis
Ze względu na brak takowego na forum zamieszczam krótki skrypt, dzięki któremu można wyświetlać napisy końcowe (tzw. Credits), a także historie, opisy postaci, itd.
Autor skryptu
Ayene [yurika@o2.pl]
Kompatybilność
Tylko XP
Skrypt
Spoiler:
Kod:
#==============================================================================
# Napisy Końcowe [XP] / Scene Credits [XP]
#==============================================================================
# Autor: Ayene
# www.ultimateam.pl
# ver. 1.2 [15.07.2011]
#==============================================================================
# Skrypt wyświetla napisy końcowe (tzw. Credits).
# Może zostać wykorzystany również do wyświetlania historii, opisu, itd.
# Instalacja: Umieść skrypt nad Main.
#==============================================================================
# By wywołać napisy wpisz:
# $scene = Scene_Credits.new
#==============================================================================
# Dodawanie obrazków do tekstu
# Żeby obrazek nie nachodził na tekst wystarczy - pod linijką z kodem na jego
# wyświetlenie - dać większy odstęp.
IMAGE = { # 'kod' => nazwa obrazka
'<logo>' => 'logo',
'<ranga>' => 'ranga',
}
#--------------------------
# Tekst
#--------------------------
CREDIT = <<_CREDIT_
<logo>
<y>Tytuł Gry
<r>~ Reżyser ~
...
---------------
<r>~ Skrypty ~
...
---------------
<r>~ Grafika ~
...
---------------
<r>~ Dźwięk i muzyka ~
...
---------------
<r>~ Mapy ~
...
---------------
<g>www.ultimateam.pl
_CREDIT_
#--------------------------
# Koniec tekstu
#--------------------------
end
class Scene_Credits
include AYENE
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
color = []
image = []
if CREDITS_BGM != ''
Audio.bgm_play("Audio/BGM/" + CREDITS_BGM, CREDITS_BGM_VOLUME, 100)
end
if BACKGROUND_IMAGE != ''
@background = Sprite.new
@background.bitmap = RPG::Cache.picture(BACKGROUND_IMAGE)
@background.opacity = BACKGROUND_OPACTIY
end
text = CREDIT.split(/\n/)
@credits = Sprite.new
@credits.bitmap = Bitmap.new(640, WLH * text.size)
@credits.z = 9999
@credits.oy = -470
text.each_index { |i|
color[i] = TEXT_COLOR[0]
TEXT_COLOR.each { |st, c|
if text[i].include?(st)
text[i].sub!(st, '')
color[i] = c
end
}
IMAGE.each { |st, im|
if text[i].include?(st)
text[i].sub!(st, '')
image[i] = im
end
}
if image[i] != nil
bitmap = RPG::Cache.picture(image[i])
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
@credits.bitmap.blt((640 - cw) / 2, i*WLH, bitmap, src_rect)
end
@credits.bitmap.draw_text_outline(0,i*WLH,640,32,text[i],1,color[i])
}
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
unless @background.nil?
@background.bitmap.dispose
@background.dispose
end
@credits.bitmap.dispose
@credits.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
@credits.oy += 1
if BUTTON_CLOSE
if Input.trigger?(Input::C)
next_scene
elsif Input.trigger?(Input::B)
previous_scene
end
end
if @credits.oy >= @credits.bitmap.height
next_scene
end
end
#--------------------------------------------------------------------------
# * Next Scene
#--------------------------------------------------------------------------
def next_scene
Audio.bgm_fade(1500) if CREDITS_BGM != ''
$scene = eval("#{NEXT_SCENE}.new")
end
#--------------------------------------------------------------------------
# * Previous Scene
#--------------------------------------------------------------------------
def previous_scene
Audio.bgm_fade(1500) if CREDITS_BGM != ''
$scene = eval("#{PREVIOUS_SCENE}.new")
end
end
Demo
niepotrzebne
Screenshot
Spoiler:
Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.
Instrukcja - jak umieścić 'Autorów' w menu ekranu tytułowego:
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 2 # Shutdown
command_shutdown
end
i zamień na:
Kod:
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 2 # Autorzy
$game_system.se_play($data_system.decision_se)
$scene = Scene_Credits.new
when 3 # Shutdown
command_shutdown
end
Przejdź to:
[spoiler]
# Ustawienia tła obrazkowego (folder Graphics/Pitures)
BACKGROUND_IMAGE = '' # Tutaj piszesz nazwę obrazka jeśli jej nie będzie nie będzie obrazka czyli będzie wyłączony
BACKGROUND_OPACTIY = 255[spoiler]
________________________ "Jestem jaki jestem i nic tego nie zmieni"
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 2 # Shutdown
command_shutdown
end
i zamień na:
Kod:
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 2 # Autorzy
$game_system.se_play($data_system.decision_se)
$scene = Scene_Credits.new
when 3 # Shutdown
command_shutdown
end
Skrypt z dodatkową opcją wyświetlania obrazków
Pierwszy post edytowany
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