Can anyone help me change this KGC Script to where i can have multiple splash screens... I want 2 for now...
CODE
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ —† Splash Logo - KGC_TitleDirection —† VX —†
#_/ —‡ Last Update: 2008/09/06 —‡
#_/ —† Translation by Mr. Anonymous —†
#_/ —† KGC Site: —†
#_/ —† http://f44.aaa.livedoor.jp/~ytomy/ —†
#_/ —† Translator's Blog: —†
#_/ —† http://mraprojects.wordpress.com —†
#_/----------------------------------------------------------------------------
#_/ This script adds a function to display a splash logo before the title
#_/ screen is displayed. A sample of this effect is provided with the demo
#_/ this script came packaged in.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#==============================================================================
# ˜… Customization ˜…
#==============================================================================
module KGC
module TitleDirection
# —† Start Title BGM Timing —†
# This allows you to adjust when the title screen BGM is played.
# 0..Before Logo 1..After Logo
BGM_TIMING = 1
# —† Show Logo During Testplay (DEBUGGING) —†
# This toggle allows you to bypass the logo display when debugging.
TESTPLAY_SHOW = true
# —† Splash Logo Image —†
# Here, you may specify the image file you'd like to use as a logo.
# The image must be in the "Graphics/System" folder.
# Setting this to nil will display nothing. If set to nil, the Splash Logo
# Sound Effect defined below is also assumed to be nil.
SPLASH_LOGO_FILE = "LogoB"
# —† Splash Logo Sound Effect —†
# Here, you may specify a sound effect to play while the splash logo displays.
# This can be written two ways. First, you can simply define a filename and
# the script automatically assumes to look in the SE folder and assign
# default values for volume and pitch, as such:
# SPLASH_LOGO_SE = "start_logo"
# Or class notation, allowing for additional customization, as such:
# SPLASH_LOGO_SE = RPG::SE.new("start_logo", 80, 100)
# Format: ("SoundName", Volume, Pitch)
SPLASH_LOGO_SE = RPG::SE.new("Magic", 80, 50)
# —† Logo Splash Style —†
# Here, you may specify an effect for your logo. It's best just to try out
# each option and see what works for you.
# 0..Fade 1..Crossing 2..Zoom 3..Splash
SPLASH_LOGO_TYPE = 3
end
end
#=============================================================================#
# ˜… End Customization ˜… #
#=============================================================================#
#=================================================#
# IMPORT #
#=================================================#
$imported = {} if $imported == nil
$imported["TitleDirection"] = true
#=================================================#
#==============================================================================
# – Sprite_TitleLogo
#------------------------------------------------------------------------------
# ‚‚ƒˆƒ”面のƒ‚‚’‰†‚ƒ‚で™€‚
#==============================================================================
class Sprite_TitleLogo < Sprite
attr_accessor :effect_no_out # ˆŽ‚ƒ•‚‚ƒˆな—
#--------------------------------------------------------------------------
# — ‚ƒ–‚‚‚ƒˆˆœŸŒ–
#--------------------------------------------------------------------------
def initialize
super
@effect_type = 0
@effect_duration = 0
@effect_sprites = []
@effect_no_out = false
end
#--------------------------------------------------------------------------
# — 破„
#--------------------------------------------------------------------------
def dispose
super
dispose_effect_sprites
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ•‚‚ƒˆ”‚ƒ—ƒ‚ƒˆ破„
#--------------------------------------------------------------------------
def dispose_effect_sprites
@effect_sprites.each { |s| s.dispose }
@effect_sprites = []
end
#--------------------------------------------------------------------------
# — Z 座™‰›
#--------------------------------------------------------------------------
def z=(value)
super(value)
@effect_sprites.each { |s| s.z = value }
end
#--------------------------------------------------------------------------
# —‹ ƒ•‚ƒƒ‰Šžœ
# dx : X 座™
# dy : Y 座™
# bitmap : 表示”ƒ
#--------------------------------------------------------------------------
def effect_fade(dx, dy, bitmap)
dispose_effect_sprites
@effect_type = 0
@effect_duration = 150
# ‚ƒ—ƒ‚ƒˆœˆ
sprite = Sprite.new
sprite.bitmap = bitmap
# 表示位置‚’調•
sprite.x = dx
sprite.y = dy
sprite.ox = bitmap.width / 2
sprite.oy = bitmap.height / 2
sprite.opacity = 0
@effect_sprites << sprite
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ‚Šžœ
#--------------------------------------------------------------------------
def effect_cross(dx, dy, bitmap)
dispose_effect_sprites
@effect_type = 1
@effect_duration = 150
# ‚ƒ—ƒ‚ƒˆœˆ
sprites = [Sprite.new, Sprite.new]
sprites[0].bitmap = bitmap
sprites[1].bitmap = bitmap
# 表示位置‚’調•
sprites[0].x = dx - 240
sprites[1].x = dx + 240
sprites[0].y = dy
sprites[1].y = dy
sprites[0].ox = sprites[1].ox = bitmap.width / 2
sprites[0].oy = sprites[1].oy = bitmap.height / 2
sprites[0].opacity = 0
sprites[1].opacity = 0
@effect_sprites += sprites
end
#--------------------------------------------------------------------------
# —‹ ‚ƒƒŠžœ
#--------------------------------------------------------------------------
def effect_zoom(dx, dy, bitmap)
dispose_effect_sprites
@effect_type = 2
@effect_duration = 150
# ‚ƒ—ƒ‚ƒˆœˆ
sprites = [Sprite.new, Sprite.new]
sprites[0].bitmap = bitmap
sprites[1].bitmap = bitmap
# ˆœŸ設š
sprites[0].x = sprites[1].x = dx
sprites[0].y = sprites[1].y = dy
sprites[0].ox = sprites[1].ox = bitmap.width / 2
sprites[0].oy = sprites[1].oy = bitmap.height / 2
sprites[0].zoom_x = sprites[0].zoom_y = 0.0
sprites[1].zoom_x = sprites[1].zoom_y = 6.0
sprites[0].opacity = sprites[1].opacity = 0
@effect_sprites += sprites
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ—ƒƒƒ‚ƒŠžœ
#--------------------------------------------------------------------------
def effect_splash(dx, dy, bitmap)
dispose_effect_sprites
@effect_type = 3
@effect_duration = 150
# ‚ƒ—ƒ‚ƒˆœˆ
sprites = [Sprite.new]
sprites[0].bitmap = bitmap
# ˆœŸ設š
sprites[0].ox = bitmap.width >> 1
sprites[0].oy = bitmap.height >> 1
sprites[0].x = dx
sprites[0].y = dy
sprites[0].opacity = 0
(1..3).each { |i|
sprites[i] = Sprite.new
sprites[i].bitmap = bitmap
sprites[i].ox = sprites[0].ox
sprites[i].oy = sprites[0].oy
sprites[i].x = dx
sprites[i].y = dy
sprites[i].opacity = 255
sprites[i].visible = false
}
@effect_sprites += sprites
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ—ƒƒƒ‚ƒ‚ƒŠžœ
#--------------------------------------------------------------------------
def effect_splash_in(dx, dy, bitmap)
dispose_effect_sprites
@effect_type = 4
@effect_duration = 41
# ‚ƒ—ƒ‚ƒˆœˆ
sprites = [Sprite.new]
sprites[0].bitmap = bitmap
# ˆœŸ設š
sprites[0].ox = bitmap.width >> 1
sprites[0].oy = bitmap.height >> 1
sprites[0].x = dx - 160
sprites[0].y = dy - 160
sprites[0].opacity = 0
(1..3).each { |i|
sprites[i] = Sprite.new
sprites[i].bitmap = bitmap
sprites[i].ox = sprites[0].ox
sprites[i].oy = sprites[0].oy
sprites[i].x = dx
sprites[i].y = dy
sprites[i].opacity = 0
}
sprites[1].x += 160
sprites[1].y -= 160
sprites[2].x += 160
sprites[2].y += 160
sprites[3].x -= 160
sprites[3].y += 160
@effect_sprites += sprites
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ•‚‚ƒˆœ止
#--------------------------------------------------------------------------
def stop_effect
dispose_effect_sprites
@effect_duration = 0
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ•‚‚ƒˆŸŒ中ˆš
#--------------------------------------------------------------------------
def effect?
return @effect_duration > 0
end
#--------------------------------------------------------------------------
# — ƒ•ƒƒƒ›–
#--------------------------------------------------------------------------
def update
super
if @effect_duration > 0
update_effect
end
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ•‚‚ƒˆ›–
#--------------------------------------------------------------------------
def update_effect
@effect_duration -= 1
case @effect_type
when 0
update_effect_fade
when 1
update_effect_cross
when 2
update_effect_zoom
when 3
update_effect_splash
when 4
update_effect_splash_in
end
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ•‚‚ƒˆ›– : ƒ•‚ƒƒ‰
#--------------------------------------------------------------------------
def update_effect_fade
case @effect_duration
when 100...150
@effect_sprites[0].opacity += 6
when 30...100
# •‚‚—な„
when 0...30
unless @effect_no_out
@effect_sprites[0].opacity -= 10
end
end
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ•‚‚ƒˆ›– : ‚ƒ‚
#--------------------------------------------------------------------------
def update_effect_cross
case @effect_duration
when 110...150
@effect_sprites[0].x += 6
@effect_sprites[1].x -= 6
@effect_sprites[0].opacity += 4
@effect_sprites[1].opacity += 4
when 30...110
@effect_sprites[0].opacity = 255
@effect_sprites[1].visible = false
when 0...30
unless @effect_no_out
@effect_sprites[0].opacity -= 13
end
end
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ•‚‚ƒˆ›– : ‚ƒƒ
#--------------------------------------------------------------------------
def update_effect_zoom
case @effect_duration
when 100...150
@effect_sprites[0].zoom_x = (@effect_sprites[0].zoom_y += 0.02)
@effect_sprites[1].zoom_x = (@effect_sprites[1].zoom_y -= 0.1)
@effect_sprites[0].opacity += 3
@effect_sprites[1].opacity += 3
when 30...100
@effect_sprites[0].opacity = 255
@effect_sprites[1].visible = false
when 0...30
unless @effect_no_out
@effect_sprites[0].opacity -= 13
end
end
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ•‚‚ƒˆ›– : ‚ƒ—ƒƒƒ‚ƒ
#--------------------------------------------------------------------------
def update_effect_splash
case @effect_duration
when 90...150
@effect_sprites[0].opacity += 5
when 0...60
@effect_sprites[0].x -= 2
@effect_sprites[0].y -= 2
@effect_sprites[1].x += 2
@effect_sprites[1].y -= 2
@effect_sprites[2].x += 2
@effect_sprites[2].y += 2
@effect_sprites[3].x -= 2
@effect_sprites[3].y += 2
4.times { |j|
@effect_sprites[j].visible = true
@effect_sprites[j].opacity -= 5
}
end
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ•‚‚ƒˆ›– : ‚ƒ—ƒƒƒ‚ƒ‚ƒ
#--------------------------------------------------------------------------
def update_effect_splash_in
case @effect_duration
when 1...41
@effect_sprites[0].x += 2
@effect_sprites[0].y += 2
@effect_sprites[1].x -= 2
@effect_sprites[1].y += 2
@effect_sprites[2].x -= 2
@effect_sprites[2].y -= 2
@effect_sprites[3].x += 2
@effect_sprites[3].y -= 2
4.times { |j|
@effect_sprites[j].opacity += 3
}
when 0
@effect_sprites[0].opacity = 255
(1..3).each { |i|
@effect_sprites[i].visible = false
}
end
end
end
#˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†
˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…˜†˜…
#==============================================================================
# – Scene_Title
#==============================================================================
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# — –‹‹‡†
#--------------------------------------------------------------------------
alias start_KGC_TitleDirection start
def start
show_splash_logo
start_KGC_TitleDirection
end
#--------------------------------------------------------------------------
# —‹ ‚ƒ—ƒƒƒ‚ƒƒ‚表示
#--------------------------------------------------------------------------
def show_splash_logo
return if $__splash_logo_shown
return if $TEST && !KGC::TitleDirection::TESTPLAY_SHOW
return if KGC::TitleDirection::SPLASH_LOGO_FILE == nil
play_title_music if KGC::TitleDirection::BGM_TIMING == 0
# ƒ‚表示 SE ”奏
if KGC::TitleDirection::SPLASH_LOGO_SE != nil
if KGC::TitleDirection::SPLASH_LOGO_SE.is_a?(RPG::SE)
KGC::TitleDirection::SPLASH_LOGO_SE.play
elsif KGC::TitleDirection::SPLASH_LOGO_SE.is_a?(String)
se = RPG::SE.new(KGC::TitleDirection::SPLASH_LOGO_SE)
se.play
end
end
# ‚ƒ•‚‚ƒˆ”‚ƒ—ƒ‚ƒˆœˆ
sprite = Sprite_TitleLogo.new
bitmap = Cache.system(KGC::TitleDirection::SPLASH_LOGO_FILE)
dx = Graphics.width / 2
dy = Graphics.height / 2
# ‚ƒ•‚‚ƒˆ–‚™
case KGC::TitleDirection::SPLASH_LOGO_TYPE
when 0
sprite.effect_fade(dx, dy, bitmap)
when 1
sprite.effect_cross(dx, dy, bitmap)
when 2
sprite.effect_zoom(dx, dy, bitmap)
when 3
sprite.effect_splash(dx, dy, bitmap)
end
# ‚ƒ•‚‚ƒˆŸŒ
Graphics.transition(0)
while sprite.effect?
Graphics.update
Input.update
sprite.update
# C ƒœ‚ƒで中止
if Input.trigger?(Input::C)
sprite.stop_effect
end
end
# Œ‹œ
sprite.dispose
bitmap.dispose
# ƒˆƒƒ‚‚ƒƒ–‚™
Graphics.freeze
$__splash_logo_shown = true
end
end
Help Please it has been 24 hours!!! And i would like to have this script by christmas for my family.
This post has been edited by computerchris: Dec 22 2011, 11:12 AM