기타

간단한 Scene_Base

by Alkaid posted Sep 09, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

  RMXP SDK 1.x, 2.x와 RMVX를 참조하여 대충 만들어 본 Scene_Base입니다.  (개인적으로는 오브젝트 자동 업데이트와 자동처리가 있는 SDK 2.x의 Scene_Base가 쓰기 편합니다만) 

 

#Simple Scene_Base

class Scene_Base
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    main_variable
    main_spriteset
    main_window
    main_audio
    main_transition
    # Main loop
    loop do
      main_loop
      break if main_scenechange?
    end
    main_pre_terminate
    # Prepare for transition
    Graphics.freeze
    main_dispose
    main_terminate
  end
  #--------------------------------------------------------------------------
  # * Main Processing: Variable
  #--------------------------------------------------------------------------
  def main_variable ;end
  #--------------------------------------------------------------------------
  # * Main Processing: Spriteset
  #--------------------------------------------------------------------------
  def main_spriteset ;end
  #--------------------------------------------------------------------------
  # * Main Processing: Windows
  #--------------------------------------------------------------------------
  def main_window ;end
  #--------------------------------------------------------------------------
  # * Main Processing: Audio
  #--------------------------------------------------------------------------
  def main_audio ;end
  #--------------------------------------------------------------------------
  # * Main Processing: Transition
  #--------------------------------------------------------------------------
  def main_transition
    # Execute transition
    Graphics.transition
  end
  #--------------------------------------------------------------------------
  # * Main Loop
  #--------------------------------------------------------------------------
   def main_loop 
     # Update game screen
     Graphics.update
     # Update input information
     Input.update
     # Frame update
     update
   end
  #--------------------------------------------------------------------------
  # * Scene Change
  #--------------------------------------------------------------------------
  def main_scenechange?
    # Abort loop if screen is changed
    return $scene != self
  end
  #--------------------------------------------------------------------------
  # * Main Processing: Pre-termination
  #--------------------------------------------------------------------------
  def main_pre_terminate ;end
  #--------------------------------------------------------------------------
  # * Main Processing: Object Disposing
  #--------------------------------------------------------------------------
  def main_dispose ;end
  #--------------------------------------------------------------------------
  # * Main Processing: End
  #--------------------------------------------------------------------------
  def main_terminate ;end
end

 

 

**사용법:
  Scene_Base를 사용하는 스크립트는 class Scene_(이름) <Scene_Base로 현재 작성하는 클래스가 Scene_Base를 상속받음을 명시해야 합니다(상속이 맞나 모르겠네.... 배운 지 오래되어서).
그리고 (상속받은)상위 클래스에 정의된 것을 그대로 쓰고 싶다면 super를 써 준다든가.... 그런 식으로 하면 됩니다.