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 6202
881 메뉴 자작 메뉴 스크립트들(L's Simple CMS and menu scenes) (SDK 호환?) 10 Alkaid 2010.09.02 3461
880 전투 Mr. Mo's ABS 5.5 13 Alkaid 2010.09.10 3459
879 미니맵 스크립트 이용하여 미니맵 만들기 16 file 아방스 2007.11.09 3458
878 능력치 올리기 스크립트 21 file 아방스 2007.11.09 3451
877 전투 CTB by Charlie Fleed 3.2 - FF10 스타일의 전투 시스템 7 Alkaid 2010.10.14 3450
876 이동 및 탈것 3D 캐릭 스크립트 7 백호 2009.02.22 3444
875 미니맵 던전용 미니맵 스크립트[사용법 추가] 16 file 배포 2008.03.02 3443
874 HUD 맵이름표시 ps인간 2009.01.23 3441
873 미니맵 미니맵(중복률100%? 한글번역!) 17 백호 2009.02.21 3423
872 메시지 ◆메세지 윈도우 개조 -KGC_MessageAlter◆ 3 백호 2009.02.22 3422
871 기타 FPLE 2 - First Person Labyrinth Explorer by MGC 1 Alkaid 2012.01.17 3415
870 이동 및 탈것 멈췄을때 행동. 17 file Bera 2010.10.17 3408
869 메뉴 스탯올리기 시스템 (액알가능) 27 file 백호 2009.02.22 3406
868 기타 한글 입력 스크립트 입니다. (vx -> xp) 23 file 헤르코스 2009.04.18 3400
867 메뉴 [자작]명성치 사용 스크립트 16 Rainsy 2009.03.22 3390
866 파티 [최강전사님 제공] 파티가 따라오게 하는 스크립트 24 file 아방스 2007.11.09 3369
865 전투 ATB전투 5 백호 2009.02.22 3369
864 아이템 아이템 인벤토리 2 file 백호 2009.02.22 3356
863 이동 및 탈것 최단경로 찾아가기 - (마우스 사용) 18 file 허걱 2009.02.02 3354
862 스탯 포인트 시스템 3차수정 ( ' 백호 ' 님이 올리신 자료 수정.) 26 카이어덱터 2010.01.04 3346
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52