기타

Quick Animations by SephirothSpawn (SDK호환)

by 백호 posted Feb 22, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
http://www.dubealex.com/asylum/index.php?showtopic=9830
여러 개의 png파일을 사용한 애니메이션 처리. 단, 이 스크립트는 암호화된 프로젝트에서는 정상적으로 동작하지 않을 수 있습니다.


#==============================================================================
# ** Quick Animations
#==============================================================================
# SephirothSpawn
# Version 1
# 2006-07-06
#------------------------------------------------------------------------------
# * Instructions
#
# ~ Creating Animation
#
# = Quick_Animation.new(directory, loop, frame_skip, viewport)
#
# directory : Directory in your Projects Folder for the image
# loop : true (image loops) or false (image plays and disposes itself)
# frame_skip : number of frames to proceed to next image
# viewport : viewport of image
#
# ~ Object must update, or frames won't pass through.
# ~ Don't update a object after it disposes. A quick way around of this
#
#.update unless.nil? ||.disposed?
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log Script-x
#------------------------------------------------------------------------------
SDK.log('Quick Animations', 'SephirothSpawn', 1, '2006-07-06')

#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.state('Quick Animations') == true

#==============================================================================
# ** Quick_Animation
#==============================================================================

class Quick_Animation < Sprite
#--------------------------------------------------------------------------
# * Object Initialization
# ~ directory : foldername in Pictures Folder
# ~ loop : true or false to loop or not loop image
# ~ frame_skip : number of frames to advance next image
# ~ viewport : viewport on window
#--------------------------------------------------------------------------
def initialize(directory, loop = true, frame_skip = 10, viewport = nil)
super(viewport)
# Stores Directory, Loop & Frame Skip Count
@directory, @loop, @frame_skip = directory, loop, frame_skip
# Starts Index Count
@index = 0
# Updates Bitmap
update
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Stop Unless Frame Skip Reached
return unless Graphics.frame_count % @frame_skip == 0
# Adds 1 to the index
@index += 1
# If not Last Image
if Dir.entries(@directory).include?("#{@index}.png")
# Sets Bitmap
self.bitmap = RPG::Cache.load_bitmap(@directory, @index.to_s)
# If Last Image Already Displayed
else
# If Loop Image
if @loop
# Reset Index & Update Bitmap
@index = 0
update
# If No Loop
else
# Delete Image
self.dispose
end
end
end
end

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