변수/스위치

특정 키눌러서 스위치 온 시키는 스크립트

by 아방이 posted Jan 30, 2008
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

안녕하세요 아방이입니다.
오늘도 스크립트에 대해서 올려볼까합니다.
오늘은 특정 키를 누르면 설정된 스크립트가 온되는 기능입니다.
이 기능은 퍼즐 그런기능에 쓰이면 좋을거 같네요..

【스크립트로의 설정】
각종 설정은, 스크립트의 15~16행째에 변경할 수있습니다.

RXSpc_Button(디폴트:Input::X)…게임 스윗치를 ON로 하는데 사용하는 버튼을 변경할 수 있습니다.
RXSpc_Switch(디폴트:1)…상기로 설정했을 때에 ON로 하는 게임 스윗치 No.(을)를 변경할 수 있습니다.
============================================================ 여기부터
#
#    특정의 버튼을 누르고 있는 동안만 스위치 온(RGSS2)  (C)2008
#
# 번역 : 아방이 2008130 update
# ※:커스터마이즈 포인트…15 ~ 16행째

#==============================================================================
# ★ RX_T
#------------------------------------------------------------------------------
#  설정용
#==============================================================================

module RX_T
  RXSpc_Button = Input::X # 게임 스윗치를 ON로 하는데 사용하는 버튼의 설정
  RXSpc_Switch = 1        # 상기로 설정했을 때에 ON로 하는 게임 스윗치 No.

end

#==============================================================================
# ■ Game_Player
#------------------------------------------------------------------------------
# 플레이어를 취급하는 클래스입니다.이벤트의 기동 판정이나, 맵의 스크롤등의
# 기능을 가지고 있습니다.이 클래스의 인스턴스는 $game_player 로 참조됩니다.
#==============================================================================

class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ● 이동중이 아닌 경우의 처리
  #     last_moving : 직전에 이동중이었구나
  #--------------------------------------------------------------------------
  alias rx_rgss2w1_update_nonmoving update_nonmoving
  def update_nonmoving(last_moving)
    # 메소드를 귀환시킨다
    rx_rgss2w1_update_nonmoving(last_moving)
    # ★ X 버튼이 밀렸을 경우(변경 가능.디폴트는 키보드의 A)
    if Input.press?(RX_T::RXSpc_Button) and not $game_message.visible
      # 동위치 및 정면의 이벤트 기동 판정(지정의 스윗치도 ON에)
      $game_switches[RX_T::RXSpc_Switch] = true
      $game_map.refresh
      return if get_on_off_vehicle
      return if check_action_event
    end
  end
end

#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
#  이벤트 커멘드를 실행하는 interpreter입니다.이 클래스는 Game_Map 클래스,
# Game_Troop 클래스, Game_Event 클래스의 내부에서 사용됩니다.
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 기동중 이벤트의 셋업
  #--------------------------------------------------------------------------
  alias rx_rgss2w1_setup_starting_event setup_starting_event
  def setup_starting_event
    #  메소드를 귀환시킨다
    rx_rgss2w1_setup_starting_event
    # ★ 지정의 스윗치가 ON로 아무것도 셋업 되어 있지 않으면
    if not Input.press?(RX_T::RXSpc_Button) and @list == nil
      # 지정의 스윗치를 OFF로 해, 그 결과를 반영
      $game_switches[RX_T::RXSpc_Switch] = false
      $game_map.refresh
    end
  end
end
==============================================================================여기까지