MOG Title Miria - XP version
por zecomeia
Introdução
Conversão do script original
VX MOG Title Miria feito por MogHunter.
Tela de título animada com efeitos wave, zoom, panorama, etc.
Características
Screen Shot
Como Usar
Cole o script acima de main
Baixe o pacote de imagens a seguir:
Pacote de imagens
Coloque todas as imagens na pasta Graphics/Titles, as imagens são:
Title - Imagem que contem o texto do título
Transition - Imagem da transição de tela
Plane1 - Imagem da camada 1
Plane2 - Imagem da camada 2
Plane3 - Imagem da camada 3
Com_01 - Imagem do menu seleção NEW GAME
Com_02 - Imagem do menu seleção CONTINUE
Com_03 - Imagem do menu seleção EXIT
Também é necessário o uso do script XP Wave Effect(será postado junto), então coloque-o acima de main.
*OBS: edite as imagens à vontade, mas mantenha com o mesmo nome os arquivos.
Demo
Dowload da demo
Script
Título animado:
XP Wave Effect :
#========================================
# XP Wave Effect
#----------------------------------------
#by: zecomeia
#date: 01/03/2010
#for: RGSS
#version: 1.0
#www.colmeia-do-ze.blogspot.com
#----------------------------------------
=begin
Reproduction of the VX's wave effect
(see the help file of the RPGMaker VX
in the RGSS manual reference topic)
=end
#==============#
# Sprite class #
#==============#
class Sprite
include Math
attr_accessor :wave_amp
attr_accessor :wave_length
attr_accessor :wave_speed
attr_accessor :wave_phase
attr_accessor :temp_bitmap
alias initialize default_initialize rescue nil
alias default_initialize initialize
def initialize(viewport=nil)
@wave_amp = 0
@wave_length = 180
@wave_speed = 360
@wave_phase = 0.0
default_initialize(viewport)
@temp_bitmap = nil
end
alias update default_update rescue nil
alias default_update update
def update()
# the wave effect only works if wave_amp
# propertie is a number more than zero
wave_effect if @wave_amp > 0
default_update()
end
# Return the width of image, because when use
# obj.bitmap.width the value will be more than
# the original value(because effect)
def width()
return (self.bitmap.width - @wave_amp * 2)
end
#---------------
# Wave Effect
#---------------
def wave_effect()
return if self.bitmap.nil?
@temp_bitmap = self.bitmap if @temp_bitmap.nil?
cw = @temp_bitmap.width + (@wave_amp * 2)
ch = @temp_bitmap.height
# Follow the VX wave effect, each horizontal line
# has 8 pixel of height. This device provides less
# lag in game.
divisions = @temp_bitmap.height / 8
divisions += 1 if @temp_bitmap.height % 8 != 0
self.bitmap = Bitmap.new(cw, ch)
for i in 0..divisions
x = @wave_amp * Math.sin(i * 2 * PI / (@wave_length / 8).to_i + Math.deg_to_rad(@wave_phase))
src_rect = Rect.new(0, i*8, @temp_bitmap.width, 8)
dest_rect = Rect.new(@wave_amp + x, i * 8, @temp_bitmap.width, 8)
self.bitmap.stretch_blt(dest_rect, @temp_bitmap, src_rect)
end
# frame rate: VX = 60 | XP = 40
# wave speed compatibility VX to XP: wave_speed * 60/40
# then: wave_speed * 1.5
@wave_phase += @wave_speed * 1.5 / @wave_length
@wave_phase -= 360 if @wave_phase > 360
@wave_phase += 360 if @wave_phase < 0
end
end
#=============#
# module Math #
#=============#
module Math
#-------------------------------
# Conversion Degree to Radian
#-------------------------------
def Math.deg_to_rad(deg)
return (deg * PI) / 180.0
end
end
Créditos e Agradecimentos
zecomeia pela versão para XP
MogHunter pelo script original para VX
Nenhum comentário:
Postar um comentário