mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
613 lines
17 KiB
Ruby
613 lines
17 KiB
Ruby
#===============================================================================
|
|
# New animated Title Screens for Pokemon Essentials
|
|
# by Luka S.J.
|
|
#
|
|
# Adds new visual styles to the Pokemon Essentials title screen, and animates
|
|
# depending on the style selected
|
|
#===============================================================================
|
|
###SCRIPTEDIT1
|
|
# Config value for selecting title screen style
|
|
SCREENSTYLE = 1
|
|
# 1 - FR/LG
|
|
# 2 - R/S/E
|
|
|
|
class Scene_Intro
|
|
|
|
alias main_old main
|
|
|
|
def main
|
|
Graphics.transition(0)
|
|
# Cycles through the intro pictures
|
|
@skip = false
|
|
# Selects title screen style
|
|
@screen = GenOneStyle.new
|
|
# Plays the title screen intro (is skippable)
|
|
@screen.intro
|
|
# Creates/updates the main title screen loop
|
|
self.update
|
|
Graphics.freeze
|
|
end
|
|
|
|
def update
|
|
ret = 0
|
|
loop do
|
|
@screen.update
|
|
Graphics.update
|
|
Input.update
|
|
if Input.press?(Input::DOWN) &&
|
|
Input.press?(Input::B) &&
|
|
Input.press?(Input::CTRL)
|
|
ret = 1
|
|
break
|
|
end
|
|
if Input.trigger?(Input::C)
|
|
ret = 2
|
|
break
|
|
end
|
|
end
|
|
case ret
|
|
when 1
|
|
closeSplashDelete(scene, args)
|
|
when 2
|
|
closeTitle
|
|
end
|
|
end
|
|
|
|
def closeTitle
|
|
# Play Pokemon cry
|
|
pbSEPlay("Absorb2", 100, 100)
|
|
# Fade out
|
|
pbBGMStop(1.0)
|
|
# disposes current title screen
|
|
disposeTitle
|
|
# initializes load screen
|
|
sscene = PokemonLoad_Scene.new
|
|
sscreen = PokemonLoadScreen.new(sscene)
|
|
sscreen.pbStartLoadScreen
|
|
end
|
|
|
|
def closeTitleDelete
|
|
pbBGMStop(1.0)
|
|
# disposes current title screen
|
|
disposeTitle
|
|
# initializes delete screen
|
|
sscene = PokemonLoadScene.new
|
|
sscreen = PokemonLoad.new(sscene)
|
|
sscreen.pbStartDeleteScreen
|
|
end
|
|
|
|
# def cyclePics(pics)
|
|
# sprite=Sprite.new
|
|
# sprite.opacity=0
|
|
# for i in 0...pics.length
|
|
# bitmap=pbBitmap("Graphics/Titles/#{pics[i]}")
|
|
# sprite.bitmap=bitmap
|
|
# 15.times do
|
|
# sprite.opacity+=17
|
|
# pbWait(1)
|
|
# end
|
|
# wait(32)
|
|
# 15.times do
|
|
# sprite.opacity-=17
|
|
# pbWait(1)
|
|
# end
|
|
# end
|
|
# sprite.dispose
|
|
# end
|
|
|
|
def disposeTitle
|
|
@screen.dispose
|
|
end
|
|
|
|
def wait(frames)
|
|
return if @skip
|
|
frames.times do
|
|
Graphics.update
|
|
Input.update
|
|
@skip = true if Input.trigger?(Input::C)
|
|
end
|
|
end
|
|
end
|
|
|
|
#===============================================================================
|
|
# Styled to look like the FRLG games
|
|
#===============================================================================
|
|
class GenOneStyle
|
|
|
|
def initialize
|
|
Kernel.pbDisplayText("Controls: F1", 80, 0, 99999)
|
|
Kernel.pbDisplayText("Version " + Settings::GAME_VERSION_NUMBER, 254, 308, 99999)
|
|
|
|
@maxPoke = 140 #1st gen, pas de legend la premiere fois, graduellement plus de poke
|
|
@customPokeList = getCustomSpeciesList()
|
|
#Get random Pokemon (1st gen orandPokenly, pas de legend la prmeiere fois)
|
|
|
|
randPoke = getRandomCustomFusionForIntro(true, @customPokeList, @maxPoke)
|
|
randpoke1 = randPoke[0] #rand(@maxPoke)+1
|
|
randpoke2 = randPoke[1] #rand(@maxPoke)+1
|
|
|
|
randpoke1s = randpoke1.to_s
|
|
randpoke2s = randpoke2.to_s
|
|
|
|
path_s1 = "Graphics/Battlers/" + randpoke1s + "/" + randpoke1s + ".png"
|
|
path_s2 = "Graphics/Battlers/" + randpoke2s + "/" + randpoke2s + ".png"
|
|
path_f = getFusedPath(randpoke1, randpoke2)
|
|
|
|
@prevPoke1 = randpoke1
|
|
@prevPoke2 = randpoke2
|
|
|
|
#Get Fused Poke
|
|
fusedpoke = (randpoke2 * NB_POKEMON) + randpoke1
|
|
fusedpoke_s = fusedpoke.to_s
|
|
|
|
@selector_pos = 0 #1: left, 0:right
|
|
|
|
# sound file for playing the title screen BGM
|
|
bgm = "Pokemon Red-Blue Opening"
|
|
@skip = false
|
|
# speed of the effect movement
|
|
@speed = 16
|
|
@opacity = 17
|
|
@disposed = false
|
|
|
|
@currentFrame = 0
|
|
# calculates after how many frames the game will reset
|
|
#@totalFrames=getPlayTime("Audio/BGM/#{bgm}")*Graphics.frame_rate
|
|
@totalFrames = 10 * Graphics.frame_rate
|
|
|
|
pbBGMPlay(bgm)
|
|
|
|
# creates all the necessary graphics
|
|
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
|
|
@viewport.z = 99998
|
|
@sprites = {}
|
|
|
|
@sprites["bars"] = Sprite.new(@viewport)
|
|
@sprites["bars"].bitmap = pbBitmap("Graphics/Titles/gen1_bars")
|
|
@sprites["bars"].x = Graphics.width
|
|
@sprites["bg"] = Sprite.new(@viewport)
|
|
@sprites["bg"].bitmap = pbBitmap("Graphics/Titles/gen1_bg")
|
|
@sprites["bg"].x = -Graphics.width
|
|
|
|
#@sprites["bg2"]=Sprite.new(@viewport)
|
|
#@sprites["bg2"].bitmap=pbBitmap("Graphics/Titles/gen1_bg_litup")
|
|
#@sprites["bg2"].opacity=0
|
|
|
|
#@sprites["start"]=Sprite.new(@viewport)
|
|
#@sprites["start"].bitmap=pbBitmap("Graphics/Titles/pokelogo3")
|
|
#@sprites["start"].x=138
|
|
#@sprites["start"].y=300
|
|
#@sprites["start"].opacity=255
|
|
@sprites["effect"] = AnimatedPlane.new(@viewport)
|
|
@sprites["effect"].bitmap = pbBitmap("Graphics/Titles/gen1_effect")
|
|
@sprites["effect"].opacity = 155
|
|
@sprites["effect"].visible = false
|
|
|
|
@sprites["selector"] = Sprite.new(@viewport)
|
|
@sprites["selector"].bitmap = pbBitmap("Graphics/Titles/selector")
|
|
@sprites["selector"].x = 0
|
|
@sprites["selector"].y = 200
|
|
@sprites["selector"].opacity = 0
|
|
|
|
@sprites["poke"] = Sprite.new(@viewport)
|
|
@sprites["poke"].bitmap = pbBitmap(path_s1)
|
|
@sprites["poke"].x = 400
|
|
@sprites["poke"].y = 75
|
|
|
|
@sprites["2poke"] = Sprite.new(@viewport)
|
|
@sprites["2poke"].bitmap = pbBitmap(path_s2)
|
|
@sprites["2poke"].x = -150
|
|
@sprites["2poke"].y = 75
|
|
|
|
@sprites["fpoke"] = Sprite.new(@viewport)
|
|
@sprites["fpoke"].bitmap = pbBitmap(path_f)
|
|
@sprites["fpoke"].x = 125
|
|
@sprites["fpoke"].y = 75
|
|
@sprites["fpoke"].z = 999
|
|
@sprites["fpoke"].opacity = 0
|
|
|
|
@sprites["poke"].tone = Tone.new(0, 0, 0, 255)
|
|
@sprites["poke"].opacity = 0
|
|
@sprites["poke2"] = Sprite.new(@viewport)
|
|
@sprites["poke2"].bitmap = pbBitmap("Graphics/Battlers/21364")
|
|
@sprites["poke2"].tone = Tone.new(255, 255, 255, 255)
|
|
@sprites["poke2"].src_rect.set(0, Graphics.height, Graphics.width, 48)
|
|
@sprites["poke2"].y = Graphics.height
|
|
@sprites["poke2"].y = 100
|
|
|
|
@sprites["2poke"].tone = Tone.new(0, 0, 0, 255)
|
|
@sprites["2poke"].opacity = 0
|
|
@sprites["2poke2"] = Sprite.new(@viewport)
|
|
@sprites["2poke2"].bitmap = pbBitmap("Graphics/Battlers/special/000")
|
|
@sprites["2poke2"].tone = Tone.new(255, 255, 255, 255)
|
|
@sprites["2poke2"].src_rect.set(0, Graphics.height, Graphics.width, 48)
|
|
@sprites["2poke2"].y = Graphics.height
|
|
@sprites["2poke2"].y = 100
|
|
|
|
@sprites["logo"] = Sprite.new(@viewport)
|
|
#bitmap2=pbBitmap("Graphics/Titles/pokelogo2")
|
|
bitmap1 = pbBitmap("Graphics/Titles/pokelogo")
|
|
@sprites["logo"].bitmap = Bitmap.new(bitmap1.width, bitmap1.height)
|
|
@sprites["logo"].bitmap.blt(0, 0, bitmap1, Rect.new(0, 0, bitmap1.width, bitmap1.height))
|
|
#@sprites["logo"].bitmap.blt(0,0,bitmap2,Rect.new(0,40,bitmap2.width,bitmap2.height))
|
|
@sprites["logo"].tone = Tone.new(255, 255, 255, 255)
|
|
@sprites["logo"].x = 50
|
|
@sprites["logo"].y = -20
|
|
@sprites["logo"].opacity = 0
|
|
|
|
@sprites["star"] = Sprite.new(@viewport)
|
|
@sprites["star"].bitmap = pbBitmap("Graphics/Pictures/darkness")
|
|
@sprites["star"].opacity = 0
|
|
@sprites["star"].x = -50
|
|
@sprites["star"].y = 0
|
|
|
|
end
|
|
|
|
def intro
|
|
wait(16)
|
|
16.times do
|
|
end
|
|
wait(32)
|
|
64.times do
|
|
|
|
@sprites["2poke"].opacity += 4
|
|
@sprites["poke"].opacity += 4
|
|
wait(1)
|
|
end
|
|
8.times do
|
|
@sprites["bg"].x += 64
|
|
wait(1)
|
|
end
|
|
wait(8)
|
|
8.times do
|
|
@sprites["bars"].x -= 64
|
|
wait(1)
|
|
end
|
|
wait(8)
|
|
@sprites["logo"].opacity = 255
|
|
@sprites["poke2"].opacity = 255
|
|
@sprites["2poke2"].opacity = 255
|
|
|
|
@sprites["poke"].tone = Tone.new(0, 0, 0, 0)
|
|
@sprites["2poke"].tone = Tone.new(0, 0, 0, 0)
|
|
|
|
@sprites["effect"].visible = false
|
|
c = 255.0
|
|
16.times do
|
|
@sprites["poke2"].opacity -= 255.0 / 16
|
|
@sprites["2poke2"].opacity -= 255.0 / 16
|
|
|
|
c -= 255.0 / 16
|
|
@sprites["logo"].tone = Tone.new(c, c, c)
|
|
@sprites["effect"].ox += @speed
|
|
|
|
wait(1)
|
|
end
|
|
end
|
|
|
|
TONE_INCR = 15
|
|
|
|
def makeShineEffect()
|
|
newColor = @sprites["poke"].tone.red + TONE_INCR
|
|
newTone = Tone.new(newColor, newColor, newColor, 0)
|
|
@sprites["poke"].tone = newTone
|
|
@sprites["2poke"].tone = newTone
|
|
end
|
|
|
|
def introloop
|
|
@sprites["star"].opacity = 0
|
|
@sprites["poke"].opacity = 255
|
|
@sprites["2poke"].opacity = 255
|
|
@sprites["fpoke"].opacity = 0
|
|
@sprites["poke"].x = @sprites["poke"].x - 1
|
|
@sprites["2poke"].x = @sprites["2poke"].x + 1
|
|
|
|
end
|
|
|
|
def update_selector_position()
|
|
if Input.press?(Input::RIGHT) || Input.press?(Input::LEFT)
|
|
if Input.press?(Input::RIGHT)
|
|
@selector_pos = 0
|
|
@sprites["selector"].opacity = 100
|
|
elsif Input.press?(Input::LEFT)
|
|
@selector_pos = 1
|
|
@sprites["selector"].opacity = 100
|
|
end
|
|
else
|
|
@sprites["selector"].opacity=0
|
|
end
|
|
|
|
if @selector_pos == 0
|
|
@sprites["selector"].x = @sprites["poke"].x
|
|
else
|
|
@sprites["selector"].x = @sprites["2poke"].x
|
|
end
|
|
end
|
|
|
|
def update
|
|
@sprites["effect"].ox += @speed
|
|
@currentFrame += 1
|
|
@skip = false
|
|
|
|
if @sprites["poke"].x < 175 #150
|
|
makeShineEffect()
|
|
end
|
|
update_selector_position()
|
|
if @sprites["poke"].x > @sprites["2poke"].x
|
|
@sprites["poke"].x = @sprites["poke"].x - 1
|
|
@sprites["2poke"].x = @sprites["2poke"].x + 1
|
|
#@sprites["effect"].opacity-=1
|
|
#@sprites["bg"].opacity-=1
|
|
#@sprites["bg2"].opacity+=3
|
|
end
|
|
|
|
if @sprites["poke"].x <= @sprites["2poke"].x
|
|
@sprites["poke"].opacity = 0
|
|
@sprites["2poke"].opacity = 0
|
|
#16.times do
|
|
@sprites["fpoke"].opacity = 255
|
|
@sprites["selector"].opacity = 0
|
|
#wait(1)
|
|
#end
|
|
@sprites["poke"].x = 400
|
|
@sprites["poke"].tone = Tone.new(0, 0, 0, 0)
|
|
|
|
@sprites["2poke"].x = -150
|
|
@sprites["2poke"].tone = Tone.new(0, 0, 0, 0)
|
|
|
|
if @maxPoke < NB_POKEMON - 1
|
|
@maxPoke += 5 #-1 pour que ca arrive pile. tant pis pour kyurem
|
|
end
|
|
randPoke = getRandomCustomFusionForIntro(true, @customPokeList, @maxPoke)
|
|
randpoke1 = randPoke[0] #rand(@maxPoke)+1
|
|
randpoke2 = randPoke[1] #rand(@maxPoke)+1
|
|
|
|
randpoke1s = randpoke1.to_s
|
|
randpoke2s = randpoke2.to_s
|
|
|
|
path_s1 = "Graphics/Battlers/" + randpoke1s + "/" + randpoke1s + ".png"
|
|
path_s2 = "Graphics/Battlers/" + randpoke2s + "/" + randpoke2s + ".png"
|
|
path_f = getFusedPath(randpoke1, randpoke2)
|
|
|
|
path_fMod = getFusedPath(@prevPoke1, @prevPoke2)
|
|
@sprites["fpoke"].bitmap = pbBitmap(path_fMod)
|
|
|
|
@prevPoke1 = randpoke1
|
|
@prevPoke2 = randpoke2
|
|
|
|
@sprites["poke"].bitmap = pbBitmap(path_s1)
|
|
@sprites["2poke"].bitmap = pbBitmap(path_s2)
|
|
|
|
wait(150)
|
|
|
|
# fusedpoke = (randpoke2*151)+randpoke1
|
|
#fusedpoke_s =fusedpoke.to_s
|
|
@sprites["fpoke"].bitmap = pbBitmap(path_f)
|
|
#@sprites["effect"].opacity=155
|
|
#@sprites["bg"].opacity=255
|
|
#@sprites["bg2"].opacity=0
|
|
end
|
|
|
|
@sprites["fpoke"].opacity -= 10
|
|
@sprites["effect"].ox += @speed
|
|
|
|
if @currentFrame >= @totalFrames
|
|
introloop
|
|
end
|
|
end
|
|
|
|
#new version
|
|
def getFusedPath(randpoke1, randpoke2)
|
|
path = rand(2) == 0 ? GetSpritePathForced(randpoke1, randpoke2, true) : GetSpritePathForced(randpoke2, randpoke1, true)
|
|
if Input.press?(Input::RIGHT)
|
|
path = GetSpritePathForced(randpoke1, randpoke2, true)
|
|
elsif Input.press?(Input::LEFT)
|
|
path = GetSpritePathForced(randpoke2, randpoke1, true)
|
|
end
|
|
return path
|
|
end
|
|
|
|
end
|
|
|
|
def getFusedPatho(randpoke1s, randpoke2s)
|
|
path = rand(2) == 0 ? "Graphics/Battlers/" + randpoke1s + "/" + randpoke1s + "." + randpoke2s : "Graphics/Battlers/" + randpoke2s + "/" + randpoke2s + "." + randpoke1s
|
|
if Input.press?(Input::RIGHT)
|
|
path = "Graphics/Battlers/" + randpoke2s + "/" + randpoke2s + "." + randpoke1s
|
|
elsif Input.press?(Input::LEFT)
|
|
path = "Graphics/Battlers/" + randpoke1s + "/" + randpoke1s + "." + randpoke2s
|
|
end
|
|
return path
|
|
end
|
|
|
|
def dispose
|
|
Kernel.pbClearText()
|
|
pbFadeOutAndHide(@sprites)
|
|
pbDisposeSpriteHash(@sprites)
|
|
@viewport.dispose
|
|
@disposed = true
|
|
end
|
|
|
|
def disposed?
|
|
return @disposed
|
|
end
|
|
|
|
def wait(frames)
|
|
return if @skip
|
|
frames.times do
|
|
@currentFrame += 1
|
|
@sprites["effect"].ox += @speed
|
|
|
|
Graphics.update
|
|
Input.update
|
|
if Input.trigger?(Input::C)
|
|
@skip = true
|
|
return
|
|
end
|
|
end
|
|
end
|
|
|
|
#end
|
|
|
|
#===============================================================================
|
|
# Styled to look like the gen 3 games
|
|
#===============================================================================
|
|
class GenThreeStyle
|
|
def initialize
|
|
# sound file for playing the title screen BGM
|
|
bgm = "rse opening"
|
|
@skip = false
|
|
# speed of the effect movement
|
|
@speed = 1
|
|
@opacity = 2
|
|
@frame = 0
|
|
@disposed = false
|
|
|
|
@currentFrame = 0
|
|
# calculates after how many frames the game will reset
|
|
#@totalFrames=getPlayTime("Audio/BGM/#{bgm}")*Graphics.frame_rate
|
|
@totalFrames = 10 * Graphics.frame_rate
|
|
pbBGMPlay(bgm)
|
|
|
|
# creates all the necessary graphics
|
|
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
|
|
@viewport.z = 99999
|
|
@sprites = {}
|
|
|
|
@sprites["bg"] = Sprite.new(@viewport)
|
|
@sprites["bg"].bitmap = pbBitmap("Graphics/Titles/gen3_bg")
|
|
@sprites["bg"].tone = Tone.new(255, 255, 255)
|
|
@sprites["bg"].opacity = 0
|
|
|
|
#@sprites["bg2"]=Sprite.new(@viewport)
|
|
#@sprites["bg2"].bitmap=pbBitmap("Graphics/Titles/gen3_bg")
|
|
#@sprites["bg2"].tone=Tone.new(255,255,255)
|
|
#@sprites["bg2"].opacity=0
|
|
|
|
@sprites["poke1"] = Sprite.new(@viewport)
|
|
@sprites["poke1"].bitmap = pbBitmap("Graphics/Titles/gen3_poke1")
|
|
@sprites["poke1"].opacity = 0
|
|
@sprites["poke2"] = Sprite.new(@viewport)
|
|
@sprites["poke2"].bitmap = pbBitmap("Graphics/Titles/gen3_poke2")
|
|
@sprites["poke2"].opacity = 0
|
|
@sprites["effect"] = AnimatedPlane.new(@viewport)
|
|
@sprites["effect"].bitmap = pbBitmap("Graphics/Titles/gen3_effect")
|
|
@sprites["effect"].visible = false
|
|
|
|
@sprites["logo2"] = Sprite.new(@viewport)
|
|
@sprites["logo2"].bitmap = pbBitmap("Graphics/Titles/pokelogo2")
|
|
@sprites["logo2"].x = 50
|
|
@sprites["logo2"].y = 24 - 32
|
|
@sprites["logo2"].opacity = 0
|
|
|
|
@sprites["logo1"] = Sprite.new(@viewport)
|
|
@sprites["logo1"].bitmap = pbBitmap("Graphics/Titles/pokelogo")
|
|
@sprites["logo1"].x = 50
|
|
@sprites["logo1"].y = 24 + 64
|
|
@sprites["logo1"].opacity = 0
|
|
|
|
@sprites["logo3"] = Sprite.new(@viewport)
|
|
@sprites["logo3"].bitmap = pbBitmap("Graphics/Titles/pokelogo")
|
|
@sprites["logo3"].tone = Tone.new(255, 255, 255)
|
|
@sprites["logo3"].x = 18
|
|
@sprites["logo3"].y = 24 + 64
|
|
@sprites["logo3"].src_rect.set(-34, 0, 34, 230)
|
|
@sprites["start"] = Sprite.new(@viewport)
|
|
@sprites["start"].bitmap = pbBitmap("Graphics/Titles/pokelogo3")
|
|
@sprites["start"].x = 178
|
|
@sprites["start"].y = 312
|
|
@sprites["start"].visible = true
|
|
end
|
|
|
|
def intro
|
|
16.times do
|
|
@sprites["logo1"].opacity += 16
|
|
wait(1)
|
|
end
|
|
wait(16)
|
|
12.times do
|
|
@sprites["logo3"].x += 34
|
|
@sprites["logo3"].src_rect.x += 34
|
|
wait(1)
|
|
end
|
|
@sprites["logo3"].x = 18
|
|
@sprites["logo3"].src_rect.x = -34
|
|
wait(32)
|
|
2.times do
|
|
12.times do
|
|
@sprites["logo3"].x += 34
|
|
@sprites["logo3"].src_rect.x += 34
|
|
@sprites["bg"].opacity += 21.5
|
|
wait(1)
|
|
end
|
|
@sprites["logo3"].x = 18
|
|
@sprites["logo3"].src_rect.x = -34
|
|
wait(4)
|
|
16.times do
|
|
@sprites["bg"].opacity -= 16
|
|
wait(1)
|
|
end
|
|
wait(32)
|
|
end
|
|
@sprites["logo3"].visible = false
|
|
16.times do
|
|
@sprites["logo1"].y -= 2
|
|
wait(1)
|
|
end
|
|
16.times do
|
|
@sprites["logo2"].y += 2
|
|
@sprites["logo2"].opacity += 16
|
|
@sprites["logo1"].y -= 2
|
|
|
|
wait(1)
|
|
end
|
|
wait(56)
|
|
@sprites["bg"].tone = Tone.new(0, 0, 0)
|
|
@sprites["bg"].opacity = 255
|
|
@sprites["poke1"].opacity = 255
|
|
@sprites["effect"].visible = true
|
|
|
|
end
|
|
|
|
def update
|
|
@currentFrame += 1
|
|
@frame += 1
|
|
@sprites["effect"].oy += @speed
|
|
@sprites["poke2"].opacity += @opacity
|
|
@opacity = -2 if @sprites["poke2"].opacity >= 255
|
|
@opacity = +2 if @sprites["poke2"].opacity <= 0
|
|
if @frame == 8
|
|
@sprites["start"].visible = true
|
|
elsif @frame == 24
|
|
@sprites["start"].visible = false
|
|
@frame = 0
|
|
end
|
|
|
|
if @currentFrame >= @totalFrames
|
|
raise Reset.new
|
|
end
|
|
end
|
|
|
|
def dispose
|
|
pbFadeOutAndHide(@sprites)
|
|
pbDisposeSpriteHash(@sprites)
|
|
@viewport.dispose
|
|
@disposed = true
|
|
end
|
|
|
|
def disposed?
|
|
return @disposed
|
|
end
|
|
|
|
def wait(frames)
|
|
return if @skip
|
|
|
|
frames.times do
|
|
@currentFrame += 1
|
|
Graphics.update
|
|
Input.update
|
|
@skip = true if Input.trigger?(Input::C)
|
|
end
|
|
end
|
|
|
|
end
|