RPGXP 스크립트
2013.09.27 02:32

횡스크롤 스크립트

조회 수 1106 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제

#==============================================================================
# 점프 Z 키 지형태그 1이면 사다리 0이면 사다리아님
#==============================================================================
class XRXS50
  #
  # Action-Maps를 사용여부 (true=진실한  : 사용。
  #                                       false=틀린 : 사용하지 않음。)
  #
  ENABLE_FULL_ACTY_MAPS = true
  #
  # 「기울기 강하」
  #
  ENABLE_SLIDE_DESCENT = true
  #
  # 방향 점프(true=진실한  : 향하고 있을 방향에 점프。
  #              false=틀린 : 키가 밀리고 있을 방향에 점프。)
  #
  JUMP_AS_KEY = false
end
#==============================================================================
# ■ Game_Player
#==============================================================================
class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ○ 공개 인스턴스 변수
  #--------------------------------------------------------------------------
  # 기존
  attr_writer   :direction_fix
  attr_accessor :walk_anime
  # 신규
  attr_accessor :now_jumps
  attr_writer   :xrxs50_direction_sidefix
  #--------------------------------------------------------------------------
  # ○최대 점프 회수
  #--------------------------------------------------------------------------
  def max_jumps
    return 1
  end
  #--------------------------------------------------------------------------
  # ● 왼쪽을 향한다
  #--------------------------------------------------------------------------
  alias xrxs50_turn_left turn_left
  def turn_left
    if @xrxs50_direction_sidefix
      @direction = 4
    else
      xrxs50_turn_left
    end
  end
  #--------------------------------------------------------------------------
  # ● 오른쪽을 향한다
  #--------------------------------------------------------------------------
  alias xrxs50_turn_right turn_right
  def turn_right
    if @xrxs50_direction_sidefix
      @direction = 6
    else
      xrxs50_turn_right
    end
  end
end
#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map
  #--------------------------------------------------------------------------
  # ● 메인 처리
  #--------------------------------------------------------------------------
  alias xrxs50_main main
  def main
    # 체크
    xrxs50_enable_check
    # 귀환시킨다
    xrxs50_main
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  alias xrxs50_update update
  def update
    xrxs50_enable_check
    $tag = $game_player.terrain_tag # 지형태그어디냐
    xrxs50_update
    # 프레임 갱신 (좌표계 갱신)
      if @xrxs50_enable
      update_coordinates
    end
  end
  #--------------------------------------------------------------------------
  # ○ 프레임 갱신 (좌표계 갱신)
  #--------------------------------------------------------------------------
  def update_coordinates
    if $game_player.passable?($game_player.x,$game_player.y,2)
      unless $game_player.moving?
        if XRXS50::ENABLE_SLIDE_DESCENT and
           Input.press?(Input::RIGHT) and
           $game_player.passable?($game_player.x,$game_player.y+1,6)
          $game_player.move_lower_right
        elsif XRXS50::ENABLE_SLIDE_DESCENT and
              Input.press?(Input::LEFT) and
              $game_player.passable?($game_player.x,$game_player.y+1,4)
          $game_player.move_lower_left
        else
          $game_player.move_down
        end
      end
    else
      $game_player.move_down
      $game_player.walk_anime = true unless $game_player.walk_anime
      $game_player.now_jumps  = 0
      $game_variables[18] = 0
      if Key.trigger?(49) and
         $game_player.now_jumps < $game_player.max_jumps
        if XRXS50::JUMP_AS_KEY
          direction = $game_player.direction == 4 ? -3 : 3
        else
          if Input.press?(Input::RIGHT)
            direction = 3
          elsif Input.press?(Input::LEFT)
            direction = -3
          else
            direction = 0
          end
        end
        $game_player.jump(direction, -2)
        $game_variables[18] = 1 # 18번을 1로
        $game_player.now_jumps += 1
       
        $game_player.walk_anime = true
      end
    end

  end
  #--------------------------------------------------------------------------
  # ●  플레이어의 장소 이동
  #--------------------------------------------------------------------------
  alias xrxs50_transfer_player transfer_player
  def transfer_player
    # 귀환시킨다
    xrxs50_transfer_player
    # 체크
    xrxs50_enable_check
  end
  #--------------------------------------------------------------------------
  # ○ XRXS50 하지만 가동할까 판정
  #--------------------------------------------------------------------------
  def xrxs50_enable_check
  if $tag == 0 and XRXS50::ENABLE_FULL_ACTY_MAPS # 지형태그 0이면 땅
      $game_player.now_jumps = 0 if $game_player.now_jumps.nil?
      @xrxs50_enable = true
      $game_player.direction_fix = true
      $game_player.xrxs50_direction_sidefix = true # 지형태그 1이면 사다리
     elsif $tag == 1 and XRXS50::ENABLE_FULL_ACTY_MAPS
      @xrxs50_enable = false
      $game_player.direction_fix = false
      $game_player.xrxs50_direction_sidefix = false
    end
  end
end

 

?

등록된 글이 없습니다.

Board Pagination Prev 1 ... 4 5 6 7 8 Next
/ 8






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)