Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.10 KB | None | 0 0
  1. class IntroEventScene < EventScene
  2.   def initialize(pics,splash,viewport=nil)
  3.     super(nil)
  4.     @pics=pics
  5.     @splash=splash
  6.     @pic=addImage(0,0,"")
  7.     @pic.moveOpacity(0,0,0) # fade to opacity 0 in 0 frames after waiting 0 frames
  8.     @pic2=addImage(0,322,"") # flashing "Press Enter" picture
  9.     @pic2.moveOpacity(0,0,0)
  10.     @index=0
  11.     data_system = pbLoadRxData("Data/System")
  12.     pbBGMPlay(data_system.title_bgm)
  13.     openPic(self,nil)
  14.   end
  15.  
  16.   def openPic(scene,args)
  17.     onCTrigger.clear
  18.     @pic.name="Graphics/Titles/"+@pics[@index]
  19.     @pic.moveOpacity(15,0,255) # fade to opacity 255 in 15 frames after waiting 0 frames
  20.     pictureWait
  21.     @timer=0 # reset the timer
  22.     onUpdate.set(method(:timer)) # call timer every frame
  23.     onCTrigger.set(method(:closePic)) # call closePic when C key is pressed
  24.   end
  25.  
  26.   def timer(scene,args)
  27.     @timer+=1
  28.     if @timer>80
  29.       @timer=0
  30.       closePic(scene,args) # Close the picture
  31.     end
  32.   end
  33.  
  34.   def closePic(scene,args)
  35.     onCTrigger.clear
  36.     onUpdate.clear
  37.     @pic.moveOpacity(15,0,0)
  38.     pictureWait
  39.     @index+=1 # Move to the next picture
  40.     if @index>=@pics.length
  41.       openSplash(scene,args)
  42.     else
  43.       openPic(scene,args)
  44.     end
  45.   end
  46.  
  47.   def openSplash(scene,args)
  48.     onCTrigger.clear
  49.     onUpdate.clear
  50.     @pic.name="Graphics/Titles/"+@splash
  51.     @pic.moveOpacity(15,0,255)
  52.     @pic2.name="Graphics/Titles/start"
  53.     @pic2.moveOpacity(15,0,255)
  54.     pictureWait
  55.     onUpdate.set(method(:splashUpdate))  # call splashUpdate every frame
  56.     onCTrigger.set(method(:closeSplash)) # call closeSplash when C key is pressed
  57.   end
  58.  
  59.   def splashUpdate(scene,args)
  60.     @timer+=1
  61.     @timer=0 if @timer>=80
  62.     if @timer>=32
  63.       @pic2.moveOpacity(0,0,8*(@timer-32))
  64.     else
  65.       @pic2.moveOpacity(0,0,255-(8*@timer))
  66.     end
  67.     if Input.press?(Input::DOWN) &&
  68.        Input.press?(Input::B) &&
  69.        Input.press?(Input::CTRL)
  70.       closeSplashDelete(scene,args)
  71.     end
  72.   end
  73.  
  74.   def closeSplash(scene,args)
  75.     onCTrigger.clear
  76.     onUpdate.clear
  77.     # Play random cry
  78.     cry=pbCryFile(1+rand(PBSpecies.maxValue))
  79.     pbSEPlay(cry,80,100) if cry
  80.     # Fade out
  81.     @pic.moveOpacity(15,0,0)
  82.     @pic2.moveOpacity(15,0,0)
  83.     pbBGMStop(1.0)
  84.     pictureWait
  85.     scene.dispose # Close the scene
  86.     sscene=PokemonLoad_Scene.new
  87.     sscreen=PokemonLoadScreen.new(sscene)
  88.     sscreen.pbStartLoadScreen
  89.   end
  90.  
  91.   def closeSplashDelete(scene,args)
  92.     onCTrigger.clear
  93.     onUpdate.clear
  94.     # Play random cry
  95.     cry=pbCryFile(1+rand(PBSpecies.maxValue))
  96.     pbSEPlay(cry,80,100) if cry
  97.     # Fade out
  98.     @pic.moveOpacity(15,0,0)
  99.     @pic2.moveOpacity(15,0,0)
  100.     pbBGMStop(1.0)
  101.     pictureWait
  102.     scene.dispose # Close the scene
  103.     sscene=PokemonLoad_Scene.new
  104.     sscreen=PokemonLoadScreen.new(sscene)
  105.     sscreen.pbStartDeleteScreen
  106.   end
  107. end
  108.  
  109.  
  110.  
  111. class Scene_Intro
  112.   def initialize(pics, splash = nil)
  113.     @pics=pics
  114.     @splash=splash
  115.   end
  116.  
  117.   def main
  118.     Graphics.transition(0)
  119.     @eventscene=IntroEventScene.new(@pics,@splash)
  120.     @eventscene.main
  121.     Graphics.freeze
  122.   end
  123. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement