Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
- # ■ Scene_Base [RMXP]
- # ■ Author: Bigace360
- # ■ Date: Feb 20, 2012
- # ■ Version: 1.1
- #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
- # This script was designed to act as a parent class for all scenes. It
- # provides 2 major purposes :
- #
- # 1) Give the Main Processing Method a Common Structure
- # 2) Automatically Update & Dispose All Spritesets, Sprites, Windows or
- # any other instance variable that responds to :update or :dispose
- #
- # This is a script for developers, not non-scripters. If you do not
- # plan to create scenes in RMXP, this isn't needed.
- #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
- class Scene_Base
- #--------------------------------------------------------------------------
- # * Main Processing
- #--------------------------------------------------------------------------
- def main
- start # Start processing
- post_start # Post-start processing
- loop {main_loop; break if main_break?} # Scene Loop
- move_windows # Move windows process
- terminate # Termination processing
- Graphics.update # Update game screen
- end
- #--------------------------------------------------------------------------
- # * Start processing
- #--------------------------------------------------------------------------
- def start
- create_main_viewport
- end
- #--------------------------------------------------------------------------
- # * Post-Start Processing
- #--------------------------------------------------------------------------
- def post_start
- perform_transition
- Input.update
- end
- #--------------------------------------------------------------------------
- # * Execute Transition
- #--------------------------------------------------------------------------
- def perform_transition
- Graphics.transition(transition_speed)
- end
- #--------------------------------------------------------------------------
- # * Get Transition Speed
- #--------------------------------------------------------------------------
- def transition_speed
- return 10
- end
- #--------------------------------------------------------------------------
- # * Main Processing : Loop
- #--------------------------------------------------------------------------
- def main_loop
- Graphics.update
- Input.update
- update_all_windows
- update
- end
- #--------------------------------------------------------------------------
- # * Frame Update
- #--------------------------------------------------------------------------
- def update; end
- #--------------------------------------------------------------------------
- # * Main Processing : Break Loop Test
- #--------------------------------------------------------------------------
- def main_break?
- return $scene != self
- end
- #--------------------------------------------------------------------------
- # * Move windows process
- #--------------------------------------------------------------------------
- def move_windows; end
- #--------------------------------------------------------------------------
- # * Termination Processing
- #--------------------------------------------------------------------------
- def terminate
- Graphics.freeze
- dispose_all_windows
- dispose_menu_layout
- dispose_main_viewport
- end
- #--------------------------------------------------------------------------
- # * Create Graphic Layout for Menu Screen
- #--------------------------------------------------------------------------
- def create_menu_layout
- @menulay = Sprite.new
- @menulay.bitmap = Bitmap.new(1, 1)
- @menulay.z = 100
- update_menu_layout
- end
- #--------------------------------------------------------------------------
- # * Dispose Graphic Layout for Menu Screen
- #--------------------------------------------------------------------------
- def dispose_menu_layout
- @menulay.dispose
- end
- #--------------------------------------------------------------------------
- # * Update Graphic Layout for Menu Screen
- #--------------------------------------------------------------------------
- def update_menu_layout; end
- #--------------------------------------------------------------------------
- # * Create Viewport
- #--------------------------------------------------------------------------
- def create_main_viewport
- @viewport = Viewport.new(0, 0, 640, 480)
- @viewport.z = 200
- end
- #--------------------------------------------------------------------------
- # * Free Viewport
- #--------------------------------------------------------------------------
- def dispose_main_viewport
- @viewport.dispose
- end
- #--------------------------------------------------------------------------
- # * Update All Windows
- #--------------------------------------------------------------------------
- def update_all_windows
- instance_variables.each do |varname|
- ivar = instance_variable_get(varname)
- ivar.update if ivar.is_a?(Window)
- end
- end
- #--------------------------------------------------------------------------
- # * Destroy All Windows
- #--------------------------------------------------------------------------
- def dispose_all_windows
- instance_variables.each do |varname|
- ivar = instance_variable_get(varname)
- ivar.dispose if ivar.is_a?(Window)
- end
- end
- #--------------------------------------------------------------------------
- # * Fade Out All Sounds
- #--------------------------------------------------------------------------
- def fadeout_all(time = 1000)
- $game_system.se_play($data_system.decision_se)
- Audio.bgm_fade(time)
- Audio.bgs_fade(time)
- Audio.me_fade(time)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment