02-24-2010, 06:36 PM
Splash Script
Version: 1.1
Version: 1.1
Introduction
I've rewrote Lambchop's Super Simple Splash Script to make it even more simple-er ;o
You only need to edit 5 constants and you're set to go.
if you want more than 3 screens, just add more filenames to SplashFiles, you could have 490434034903 screen probably (lolwhat?)
to use this script before title screen, you need to change the Main script.
Look for $scene = Scene_Title.new and replace it with $scene = Scene_Splash.new
Demo
Requested by Villain: http://www.box.net/shared/vj5vqvvp7z (v1.0)
Script
Standard Development Kit Version
Code:
#==============================================================================
# ** Splash Script
#------------------------------------------------------------------------------
# - Coded by :rm-rf
# - Original by :Lambchops
# - Version :1.1
# - 24/02/2010
#------------------------------------------------------------------------------
# * How to Use:
# - Just add more filenames to SplashFiles = ['filename', ..., ...]
# - and configure the speed of loading each images.
# - That's it ;o
#==============================================================================
#------------------------------------------------------------------------------
# * Begin SDK Log
#------------------------------------------------------------------------------
SDK.log('Splash Script', 'rm-rf', 1.0, '24/02/2010')
#------------------------------------------------------------------------------
# * Begin SDK Requirement Check
#------------------------------------------------------------------------------
SDK.check_requirements(2.4)
#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.enabled?('Splash Script')
module SSConfig
#----------------------------------------------------------------------------
# * Splash Files
# :folder- :Graphics/Picture
# :config- :['filename', 'filename', ..., ...]
#----------------------------------------------------------------------------
SplashFiles = ['splash_sample01', 'splash_sample02', 'splash_sample03']
#----------------------------------------------------------------------------
# * Splash Speed / Wait
# :the speed of transition, 2-4 is ideal
# :wait is for how long the image will show for
#----------------------------------------------------------------------------
SplashSpeed = 8
SplashWait = 100
#----------------------------------------------------------------------------
# * Play Music During Splash?
# :config- :true / false
# :do you want to play music during the splash?
#----------------------------------------------------------------------------
PlayMusic = true
#----------------------------------------------------------------------------
# * Music File
# :folder- :Audio/BGM
# :use the filename for the audio. (dont need the extention i suppose)
#----------------------------------------------------------------------------
MusicFile = '014-Theme03'
end
class Scene_Splash < SDK::Scene_Base
#----------------------------------------------------------------------------
# * Main: Variable
#----------------------------------------------------------------------------
def main_variable
# Setup important variables
@index = 0
@hide = false
@show = true
@opacity = 0
@wait = 0
end
#----------------------------------------------------------------------------
# * Main: Sprite
#----------------------------------------------------------------------------
def main_sprite
# Setup array
@sprites = []
# Make sprites
SSConfig::SplashFiles.each_with_index do |filename, i|
@sprites[i] = Sprite.new
@sprites[i].bitmap = RPG::Cache.picture(filename)
@sprites[i].opacity = 0
end
end
#----------------------------------------------------------------------------
# * Main: Audio
#----------------------------------------------------------------------------
def main_audio
# Play BGM
Audio.bgm_play('Audio/BGM/' + SSConfig::MusicFile) if SSConfig::PlayMusic
end
#----------------------------------------------------------------------------
# * Frame Update
#----------------------------------------------------------------------------
def update
# If input triggered
if Input.trigger?(Input::C) || Input.trigger?(Input::B)
# Switch to Title
Audio.bgm_fade(1000) if SSConfig::PlayMusic
$scene = Scene_Title.new
end
# Do Hide/Show images
process_transition
end
#----------------------------------------------------------------------------
# * Process Transition
#----------------------------------------------------------------------------
def process_transition
# Fade In
if @show
# Increase Opacity
@opacity += SSConfig::SplashSpeed
# If Opacity's at maximum
if @opacity > 255
# Hide images
@show = false
@opacity = 255
@wait = SSConfig::SplashWait
end
end
# Wait for a bit
if @wait > 0
# Decrease Wait Count
@wait -= 1
# Done waiting
if @wait <= 0
# Fade out
@hide = true
# Reset wait
@wait = 0
end
end
# Fade Out
if @hide
# Decrease Opacity
@opacity -= SSConfig::SplashSpeed
# If Opacity's at minimum
if @opacity < 0
# Show images
@hide = false
@show = true
@opacity = 0
# Change Index
@index += 1
end
end
# Branch by index
case @index
when 0...SSConfig::SplashFiles.size
# Set Opacity
@sprites.each {|i| i.opacity = 0}
@sprites[@index].opacity = @opacity
when (SSConfig::SplashFiles.size)
# Switch to Title
Audio.bgm_fade(1000) if SSConfig::PlayMusic
$scene = Scene_Title.new
end
end
end
#------------------------------------------------------------------------------
# * End SDK Enable Test
#------------------------------------------------------------------------------
end
Normal Version (Doesnt need the SDK)
Code:
#==============================================================================
# ** Splash Script
#------------------------------------------------------------------------------
# - Coded by :rm-rf
# - Original by :Lambchops
# - Version :1.1
# - 24/02/2010
#------------------------------------------------------------------------------
# * How to Use:
# - Just add more filenames to SplashFiles = ['filename', ..., ...]
# - and configure the speed of loading each images.
# - That's it ;o
#==============================================================================
module SSConfig
#----------------------------------------------------------------------------
# * Splash Files
# :folder- :Graphics/Picture
# :config- :['filename', 'filename', ..., ...]
#----------------------------------------------------------------------------
SplashFiles = ['splash_sample01', 'splash_sample02', 'splash_sample03']
#----------------------------------------------------------------------------
# * Splash Speed / Wait
# :the speed of transition, 2-4 is ideal
# :wait is for how long the image will show for
#----------------------------------------------------------------------------
SplashSpeed = 3
SplashWait = 100
#----------------------------------------------------------------------------
# * Play Music During Splash?
# :config- :true / false
# :do you want to play music during the splash?
#----------------------------------------------------------------------------
PlayMusic = true
#----------------------------------------------------------------------------
# * Music File
# :folder- :Audio/BGM
# :use the filename for the audio. (dont need the extention i suppose)
#----------------------------------------------------------------------------
MusicFile = '015-Theme04'
end
class Scene_Splash
#----------------------------------------------------------------------------
# * Main
#----------------------------------------------------------------------------
def main
# Setup Variables
main_variable
# Setup Sprites
main_sprite
# Setup Audio
main_audio
# Execute transition
Graphics.transition
# Run main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
break if $scene != self
end
# Prepare for transition
Graphics.freeze
# Dispose sprites
@sprites.each {|i| i.dispose}
end
#----------------------------------------------------------------------------
# * Main: Variable
#----------------------------------------------------------------------------
def main_variable
# Setup important variables
@index = 0
@hide = false
@show = true
@opacity = 0
@wait = 0
end
#----------------------------------------------------------------------------
# * Main: Sprite
#----------------------------------------------------------------------------
def main_sprite
# Setup array
@sprites = []
# Make sprites
SSConfig::SplashFiles.each_with_index do |filename, i|
@sprites[i] = Sprite.new
@sprites[i].bitmap = RPG::Cache.picture(filename)
@sprites[i].opacity = 0
end
end
#----------------------------------------------------------------------------
# * Main: Audio
#----------------------------------------------------------------------------
def main_audio
# Play BGM
Audio.bgm_play('Audio/BGM/' + SSConfig::MusicFile) if SSConfig::PlayMusic
end
#----------------------------------------------------------------------------
# * Frame Update
#----------------------------------------------------------------------------
def update
# If input triggered
if Input.trigger?(Input::C) || Input.trigger?(Input::B)
# Switch to Title
Audio.bgm_fade(1000) if SSConfig::PlayMusic
$scene = Scene_Title.new
end
# Do Hide/Show images
process_transition
end
#----------------------------------------------------------------------------
# * Process Transition
#----------------------------------------------------------------------------
def process_transition
# Fade In
if @show
# Increase Opacity
@opacity += SSConfig::SplashSpeed
# If Opacity's at maximum
if @opacity > 255
# Hide images
@show = false
@opacity = 255
@wait = SSConfig::SplashWait
end
end
# Wait for a bit
if @wait > 0
# Decrease Wait Count
@wait -= 1
# Done waiting
if @wait <= 0
# Fade out
@hide = true
# Reset wait
@wait = 0
end
end
# Fade Out
if @hide
# Decrease Opacity
@opacity -= SSConfig::SplashSpeed
# If Opacity's at minimum
if @opacity < 0
# Show images
@hide = false
@show = true
@opacity = 0
# Change Index
@index += 1
end
end
# Branch by index
case @index
when 0...SSConfig::SplashFiles.size
# Set Opacity
@sprites[@index].opacity = @opacity
when (SSConfig::SplashFiles.size)
# Switch to Title
Audio.bgm_fade(1000) if SSConfig::PlayMusic
$scene = Scene_Title.new
end
end
end
Instructions
Just edit 4 constants and you're set to go
FAQ
"hay!!!!11 i got 9484393893 images, will this script wurrrk wiv it????"
- probably
"this script suxxxxxx!!!11"
- boohoo
"where can I find the original splash script by lambchops?????
- PM me and ill send you it. I dont know if i should post it here on Lambchops's behalf.
Compatibility
Requires SDK, latest version
Credits and Thanks
Lambchops
shadowseer (not bothered if i dont get credited)
Ryu-ka for requesting Wait feature
Author's Notes
Original script was by Lambchops, I just rewrote it and made it even more simple-er.
Only took me 20 minutes :x
Please report any bugs you find >:|