XP 스크립트

타이틀이 뜨기 전에 이미지를 띄우는 스크립트입니다.(버튼을 눌러서 뛰어넘으면 그 다음에는 'press start'류의 타이틀 화면이.....) 로고기능을 사용하려면 640*64 크기의 이미지를 타이틀 폴더에 넣어야 합니다. 가령:



#==============================================================================
# ** Introduction & Splash System
#==============================================================================
# SephirothSpawn
# Version 2.1
# 2006-03-04
#------------------------------------------------------------------------------
# * Instructions
#
# ~ Customizing Introduction
# $scene = Scene_Introduction.new( intro_pics , splash_file)
#
# intro_pics : [ 'Pic File 1' , 'Pic File 2' , ...]
# splash_file : 'Splash Pic File' / nil for no splash
#------------------------------------------------------------------------------
# * Customization
#
# @index, @speed, @o_speed, @phase = 0, 5, 5, 0
#
# ~ Fade In Speed
# (Change the Second 5 to the Opacity Change Every Frame. Higher = Faster)
#
# ~ Text Fade in Speed
# (Change the Third 5 to the Opacity Change Every Frame. Higher = Faster)
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log Script-x
#------------------------------------------------------------------------------
SDK.log('Introduction & Splash System', 'SephirothSpawn', 2.1, '2006-03-04')

#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.state('Introduction & Splash System') == true

#==============================================================================
# ** Scene_Introduction
#==============================================================================

class Scene_Introduction
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(pics, splash = nil)
@pics, @splash = pics, splash
end
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# Instance Variables
@index, @speed, @o_speed, @phase = 0, 5, 5, 0
# Background Images
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title(@pics[@index])
@sprite.opacity = 5
# Start Logo
@start = Sprite.new
@start.bitmap = RPG::Cache.title("Start")
@start.y, @start.z, @start.opacity = 416, 10, 0
# Loads Data System and Game System to Play BGM
data_system = load_data("Data/System.rxdata")
game_system = Game_System.new
game_system.bgm_play(data_system.title_bgm)
# Execute transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose Sprites
@sprite.dispose
@start.dispose
# Make Scene Nil
$scene = nil
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
case @phase
when 0 # Introduction Procreesing
update_intro
when 1 # Splash Procreesing
update_splash
when 2 # Splash Transition
to_splash_transition
when 3 # Title Transition
to_title_transition
when 4 # Change to Title
$scene = nil
end
end
#--------------------------------------------------------------------------
# * Frame Update : Intro Images
#--------------------------------------------------------------------------
def update_intro
# If C is pressed
if Input.trigger?(Input::C)
@phase = @splash.nil? ? 3 : 2
end
# Updates Sprite Opacity
@sprite.opacity += @speed
# Changes Direction
@speed *= -1 if @sprite.opacity >= 255
# Change Sprite
if @sprite.opacity <= 0
@index += 1 ; @speed *= -1
@index == @pics.size ? @phase = @splash.nil? ? 3 : 2 :
@sprite.bitmap = RPG::Cache.title(@pics[@index])
end
end
#--------------------------------------------------------------------------
# * Frame Update : Splash Image
#--------------------------------------------------------------------------
def update_splash
# If C is pressed
if Input.trigger?(Input::C)
@phase = 3
end
# Loads Sprite Splash Bitmap
@sprite.bitmap = RPG::Cache.title(@splash)
# Updates Start Logo Opacity
@start.opacity += @o_speed
# Changes Direction
@o_speed *= -1 if @start.opacity >= 255 || @start.opacity <= 0
# Updates Splash
@sprite.opacity += @speed if @sprite.opacity < 255
end
#--------------------------------------------------------------------------
# * Frame Update : Intro To Splash Transistion
#--------------------------------------------------------------------------
def to_splash_transition
@sprite.opacity > 0 ? @sprite.opacity -= @speed : @phase = 1
end
#--------------------------------------------------------------------------
# * Frame Update : Splash To Title Transistion
#--------------------------------------------------------------------------
def to_title_transition
# Decrease Splash Opacity
@sprite.opacity -= @speed if @sprite.opacity > 0
# Decresh Start Logo Opacity
@start.opacity -= @speed if @start.opacity > 0
# Proceed to Title Screen
@phase = 4 if @sprite.opacity <= 0 && @start.opacity <= 0
end
end

#==============================================================================
# ** Pre-Main
#------------------------------------------------------------------------------
# After defining each class, actual processing begins here.
#==============================================================================

unless $DEBUG
begin
# Prepare for transition
Graphics.freeze
# Proceed to Introduction & Splash Scene
$scene = Scene_Introduction.new(['001-Title01', '001-Title01'], '001-Title01')
# Call main method as long as $scene is effective
while $scene != nil
$scene.main
end
end
end

#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6153
34 기타 아래 스크립트에 대한 Guillaume777님의 개량판입니다. 백호 2009.02.22 880
33 기타 Dynamic Stores by Astro_mech@rmxp.net 1 file 백호 2009.02.22 878
32 기타 Difficulty Options by SephirothSpawn 백호 2009.02.22 869
31 기타 RM2K Facesets, Inn & Windowskin Colors by DerVVulfman@rmxp.org 1 file 백호 2009.02.22 866
» 기타 Introduction & optional Splash 2.1 by SephirothSpawn (SDK호환) 1 백호 2009.02.22 860
29 기타 Quick Animations by SephirothSpawn (SDK호환) 백호 2009.02.22 851
28 기타 [XP/VX/VXA] Map Screenshot by LiTTleDRAgo 1 Alkaid 2014.02.13 850
27 기타 Sized Events 0.1 by Toby@rmxp.org file 백호 2009.02.22 845
26 기타 Rataime's Multi Demo 1 file 백호 2009.02.22 834
25 기타 Crafting/Recipe system script by Axe Man Deke 백호 2009.02.22 829
24 기타 SG_Transfer Player Music Fix v2 by sandgolem (SDK호환) 1 백호 2009.02.22 824
23 기타 SG_Window Control v2 by sandgolem 백호 2009.02.22 823
22 기타 스크립트로 프리윈도우 예제 4 file 백호 2009.02.21 812
21 기타 Monster Arena by trickster file 백호 2009.02.22 812
20 기타 Weather Script 1.02 by ccoa 1 file 백호 2009.02.22 809
19 기타 SG_Multiple Currencies v3 by sandgolem (SDK호환) 백호 2009.02.22 803
18 기타 SG_Call Script Fix by sandgolem (SDK호환) 백호 2009.02.22 802
17 기타 Hero Databass 4 file 백호 2009.02.22 797
16 기타 Selected phyolomortis.com scripts 1 file 백호 2009.02.22 789
15 기타 killer님 요청하신 스크립트입니다. 1 나뚜루 2009.02.21 784
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13