이동 및 탈것

느리게 걷기

by 허걱 posted Aug 23, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

설정해준 키를 누르면 대쉬와 반대로 속도가 반감되어 이동합니다.

설정은 스크립트 위쪽 HG_Dwadle  부분을 수정해 주시면 됩니다.   기본은 Alt 키를 누를경우 느리게 걷기...

참고로 $game_player.dash?  하면 달리는지 판단, $game_player.dwadle?  이면 느리게 걷는지 판단합니다.  참일경우 true를 반환.

두키를 동시에 누르면 둘다 무효입니다.

아래 스크립트를 복사해서 사용하시면 됩니다.

 

 

module HG_Dwadle
  DwadleKEY = "Input::ALT"  # 느리게 걷기 키
 
  DashKEY = "Input::A"   #  달리기 키
 
  DISABLEMAP = [2]  # 느리게 걷기를 적용시키지 않을 맵
end

class Game_Character
  #--------------------------------------------------------------------------
  # ● 이동시의 갱신
  #--------------------------------------------------------------------------
  def update_move
    distance = 2 ** @move_speed   # 이동 속도로부터 이동거리에 변환
    if dash?               # 대시 상태라면 한층 더 배
      distance *= 2
    elsif dwadle?               # 대시 상태라면 한층 더 배
      distance /= 2
    end
    @real_x = [@real_x - distance, @x * 256].max if @x * 256 < @real_x
    @real_x = [@real_x + distance, @x * 256].min if @x * 256 > @real_x
    @real_y = [@real_y - distance, @y * 256].max if @y * 256 < @real_y
    @real_y = [@real_y + distance, @y * 256].min if @y * 256 > @real_y
    update_bush_depth unless moving?
    if @walk_anime
      @anime_count += 1.5
    elsif @step_anime
      @anime_count += 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 애니메이션 카운트의 갱신
  #--------------------------------------------------------------------------
  def update_animation
    speed = @move_speed + (dash? ? 1 : dwadle? ? -1 : 0)
    if @anime_count > 18 - speed * 2
      if not @step_anime and @stop_count > 0
        @pattern = @original_pattern
      else
        @pattern = (@pattern + 1) % 4
      end
      @anime_count = 0
    end
  end
  def dwadle?
    return false
  end
end

class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ● 데쉬 상태 판정
  #--------------------------------------------------------------------------
  def dash?
    return false if @move_route_forcing
    return false if $game_map.disable_dash?
    return false if in_vehicle?
    return (Input.press?(eval(HG_Dwadle::DashKEY)) and not Input.press?(eval(HG_Dwadle::DwadleKEY)))
  end
  #--------------------------------------------------------------------------
  # ● 데쉬 상태 판정
  #--------------------------------------------------------------------------
  def dwadle?
    return false if @move_route_forcing
    return false if $game_map.disable_dwadle?
    return false if in_vehicle?
    return (Input.press?(eval(HG_Dwadle::DwadleKEY)) and not Input.press?(eval(HG_Dwadle::DashKEY)))
  end
end

class Game_Map
  def disable_dwadle?
    return HG_Dwadle::DISABLEMAP.include?(@map_id)
  end
end

 

#

Who's 허걱

?

공개된 사이트에서 퍼온 자료를 제외한(이 경우는 글에 출처를 남깁니다.)

제가 올린 모든 글과 자작 자료에대해 무단으로 퍼가는것을 금지합니다.