기타

페이드 시간 변경

by rukan posted Jul 01, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

#==============================================================================
# ○TODO_Fade_Custom(페이드 시간 변경)
#  버젼:1.02
#  제작자  :TODO
#  출처  :http://www.geocities.jp/nantodo/
#------------------------------------------------------------------------------
# ▽효과
#  페이드인과 페이드 아웃의 페이드 시간을 변경 가능합니다.
#  장소이동의 페이드 시간과, 이동간 대기 시간도 변경 가능합니다.
#
# △주의사항등은 공개하고 있는 페이지의 설명을 참조해 주십시오.
#==============================================================================

#==============================================================================
# △설명
#  TDO_FADEOUT 과 TDO_FADEIN 과 TDO_MOVEWAIT 에、
#  이 스크립트 전용으로 사용 할 변수번호를 골라서 생성합니다.
#
#  그리고, 이벤트 커멘드의 [변수의 조작]으로 값을 변경합니다.
#
#  여기서 지정한 변수번호의 변수값을 전부 0으로 할 경우 장소이동을 실행 하면,
#  화면이 검게 되지 않고 순간이동이 가능합니다. 보너스(?)입니다.
#==============================================================================

#==============================================================================
# ★ 설정항목 이곳부터
#==============================================================================
module TDO

  TDO_FADEOUT = 8    # 페이드아웃 시간지정용 변수 번호
  TDO_FADEIN = 9     # 페이드인 시간 지정용 변수 번호
  TDO_MOVEWAIT = 10   # 장소 이동시 대기 시간 지정용 변수 번호

end
#==============================================================================
# ★ 설정항목 여기까지
#==============================================================================

#재정의
#==============================================================================
# ■ Game_Interpreter
#==============================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 화면의 페이드아웃(재정의)
  #--------------------------------------------------------------------------
  def command_221
    if $game_message.visible
      return false
    else
      screen.start_fadeout($game_variables[TDO::TDO_FADEOUT])
      @wait_count = $game_variables[TDO::TDO_FADEOUT]
      return true
    end
  end
  #--------------------------------------------------------------------------
  # ● 화면의 페이드인(재정의)
  #--------------------------------------------------------------------------
  def command_222
    if $game_message.visible
      return false
    else
      screen.start_fadein($game_variables[TDO::TDO_FADEIN])
      @wait_count = $game_variables[TDO::TDO_FADEIN]
      return true
    end
  end
end

#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # ● 장소이동의 처리(재정의)
  #--------------------------------------------------------------------------
  def update_transfer_player
    return unless $game_player.transfer?
    fade = (Graphics.brightness > 0)
    fadeout($game_variables[TDO::TDO_FADEOUT]) if fade
    @spriteset.dispose              # spriteset을 해방
    $game_player.perform_transfer   # 장소이동의 실행
    $game_map.autoplay              # BGM 과 BGS 의 자동변환
    $game_map.update
    Graphics.wait($game_variables[TDO::TDO_MOVEWAIT]) if $game_variables[TDO::TDO_MOVEWAIT] > 0
    @spriteset = Spriteset_Map.new  # spriteset 을 재작성
    fadein($game_variables[TDO::TDO_FADEIN]) if fade
    Input.update
  end
end

여기까지 입니다.

페이드 시간을 변경 할 수 있는 스크립트 입니다.

스크립트 내용 중 30~32줄 설정항목 부분을 이 스크립트 전용으로 사용할 변수의 번호를

적어 주시고 (위에 8, 9, 10 이라고 적혀 있는데 변수 번호 8, 9, 10을 의미)

이벤트 작성 [변수의 조작] 항목에서 변수 8, 9, 10의 값을 조정 하셔서 사용하시면 되겠습니다.

각 TDO_FADEOUT  TDO_FADEIN  TDO_MOVEWAIT의 기본값은 30, 30, 15 입니다.