조회 수 2581 추천 수 0 댓글 7
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
Extra Form
라이센스 GPL v2
출처 한국
강의종류 텍스트
사용/적용순서 없음

이게 빌드오니2의 화면스크롤입니다 여기아래부터

module SIMP
  #--------------------------------------------------------------------------
  # ○ 설정
  #--------------------------------------------------------------------------
  #
  # 스크롤 속도

  #
  CAMERA_MIN_SPEED = 1            # 최저한의 스크롤 속도
  CAMERA_DELEY = 2                # 속도 보정 (값이 큰 만큼 늦는다)
  #
  # 독립 스크롤
  #
  CAMERA_SCROLL_SWITCH = 48       # 스크롤 금지 스위치의 번호
  CAMERA_SCROLL_KEY = Input::A    # 스크롤을 개시하는 버튼 (Input::<버튼>)
  CAMERA_SCROLL_SPEED = 5        # 스크롤 하는 기본 속도
  CAMERA_SCROLL_DIR8 = true       # 8 방향 입력
end

class Game_Map
  #--------------------------------------------------------------------------
  # ● 공개 인스턴스 변수
  #--------------------------------------------------------------------------
  attr_writer   :real_display_x           # X 좌표 (실좌표)
  attr_writer   :real_display_y           # Y 좌표 (실좌표)
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  alias camera_initialize initialize
  def initialize
    camera_initialize
    @real_display_x = 0
    @real_display_y = 0
  end
  #--------------------------------------------------------------------------
  # ● 셋업
  #     map_id : 맵 ID
  #--------------------------------------------------------------------------
  alias camera_setup setup
  def setup(map_id)
    camera_setup(map_id)
    @real_display_x = 0
    @real_display_y = 0
  end
  #--------------------------------------------------------------------------
  # ● 표시 X 좌표 * 128
  #--------------------------------------------------------------------------
  def display_x
    return @real_display_x
  end
  #--------------------------------------------------------------------------
  # ● 표시 Y 좌표 * 128
  #--------------------------------------------------------------------------
  def display_y
    return @real_display_y
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  alias camera_update update
  def update
    camera_update
    dx = @display_x - @real_display_x
    unless dx == 0
      speed = get_speed(dx.abs)
      distance = 2 ** speed
      if dx > 0
        @real_display_x = [@real_display_x + distance, @display_x].min
      else
        @real_display_x = [@real_display_x - distance, @display_x].max
      end
    end
    dy = @display_y - @real_display_y
    unless dy == 0
      speed = get_speed(dy.abs)
      distance = 2 ** speed
      if dy > 0
        @real_display_y = [@real_display_y + distance, @display_y].min
      else
        @real_display_y = [@real_display_y - distance, @display_y].max
      end
    end
  end
  #--------------------------------------------------------------------------
  # ○ 스크롤 속도를 취득

  #     distance : 움직이는 목표까지의 거리

  #--------------------------------------------------------------------------
  def get_speed(distance)
    return [SIMP::CAMERA_MIN_SPEED, distance / 32 - SIMP::CAMERA_DELEY].max
  end
end

class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  alias camera_update update
  def update
    # 이동중, 이벤트 실행중, 이동 루트 강제중,
    # 메세지 윈도우 표시중의 머지않아도 아닌 경우

    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      # 스크롤 키가 밀렸을 경우, 독립 스크롤 플래그를 유효하게 한다

      if Input.trigger?(SIMP::CAMERA_SCROLL_KEY) and @scroll != true and
         $game_switches[SIMP::CAMERA_SCROLL_SWITCH] != true
        # 결정 SE 를 연주

        $game_system.se_play($data_system.decision_se)
        @scroll = true
        Input.update
      end
    end
    # 독립 스크롤중의 경우
    if @scroll
      super
      update_scroll
    else
      camera_update
    end
  end
  #--------------------------------------------------------------------------
  # ○ 프레임 갱신 (독립 스크롤)
  #--------------------------------------------------------------------------
  def update_scroll
    # 스크롤 키가 밀렸을 경우
    if Input.trigger?(SIMP::CAMERA_SCROLL_KEY)
      # 캔슬 SE 를 연주
      $game_system.se_play($data_system.cancel_se)
      # 플레이어에 화면을 되돌린다
      center(@x, @y)
      # 독립 스크롤 플래그를 무효로 한다
      @scroll = false
      return
    end
    distance = 2 ** SIMP::CAMERA_SCROLL_SPEED
    # 방향 버튼이 밀리고 있으면, 그 방향에 스크롤
    dir = (SIMP::CAMERA_SCROLL_DIR8 ? Input.dir8 : Input.dir4)
    case dir
    when 1
      $game_map.scroll_down(distance)
      $game_map.scroll_left(distance)
    when 2
      $game_map.scroll_down(distance)
    when 3
      $game_map.scroll_down(distance)
      $game_map.scroll_right(distance)
    when 4
      $game_map.scroll_left(distance)
    when 6
      $game_map.scroll_right(distance)
    when 7
      $game_map.scroll_left(distance)
      $game_map.scroll_up(distance)
    when 8
      $game_map.scroll_up(distance)
    when 9
      $game_map.scroll_right(distance)
      $game_map.scroll_up(distance)
    end
  end
  #--------------------------------------------------------------------------
  # ● 화면 중앙에 오도록(듯이) 맵의 표시 위치를 설정
  #--------------------------------------------------------------------------
  alias camera_center center
  def center(x, y)
    camera_center(x, y)
    $game_map.real_display_x = $game_map.display_x
    $game_map.real_display_y = $game_map.display_y
  end
end

  #--------------------------------------------------------------------------

여기까지.............예제를첨부하겠습니다


List of Articles
분류 제목 글쓴이 날짜 조회 수 추천 수
공지사항 일본어 스크립트를 번역하기 좋은 번역사이트 두곳입니다 ruby 2010.01.09 22074 0
공지사항 스크립트 게시판 관리자' ruby ' 입니다 ruby 2010.01.09 20725 0
공지사항 일본 스크립트/소스 공유 포럼 4 니오티 2010.01.05 22249 0
대화관련 한글자씩 글자 나오는거 완전판!!(오류 하나도 없음) 만원만주라 2013.07.09 2106 0
전투관련 누구나 쉽게 만드는 액션알피지 6 펜릴 2012.11.25 4344 0
공통 Script 화면이 부드럽게 이동돼는 스크립트 2 ★Best갱신★ 2012.09.27 1999 0
맵관련 혹시나해서 일정키로 스크롤X 화면 부드럽게만...(스크립트를 삭제를 조금 했습니다) 호호리터엉 2012.02.13 1789 0
장르변경 2D 로 가는길! 횡스크롤 이닷! 공냑군 2012.01.24 2045 0
기타 게이지바 스크립트!! 최고!! 12 file 코아 코스튬 2011.08.08 4236 0
대화관련 대화 창에 얼굴 넣기 스크립트 4 file 노르 2011.08.08 3431 0
맵관련 조금 다른 맵표시 스크립트 file 노르 2011.08.08 1886 0
시각적 효과 NPC 위에 이름표시 하기 스크립트 2 file 노르 2011.08.08 2477 0
전투관련 초간단 XAS 오리지널. 1 file 호호리터엉 2011.08.04 2614 0
스킬관련 전투 비슷??????????? 아오오오오옹니 2011.07.29 1844 0
기능추가 전체키 스크립트 8 닉네임이없습니다 2011.07.19 2212 0
기타 이름입력 스크립트 2 닉네임이없습니다 2011.07.16 2207 0
맵관련 맵이름 띄우기 (오류없이 진짜나옵니다) 6 지나가던개 2011.07.06 2244 0
메뉴관련 간단한 링 메뉴 스크립트(처음올리는 스크립트) 1 lts1503 2011.05.22 2171 0
온라인 이것은약간온라인이랑섞인듯? 어쨋든 클릭스크립트!! 2 file 호호리터엉 2011.02.23 2218 0
맵관련 W키눌러서 미니맵표시 12 호호리터엉 2011.01.22 2760 1
맵관련 Shift키누르고 방향키누르면 화면스크롤되는것 7 file 호호리터엉 2011.01.21 2581 0
맵관련 맵이름 띄우기, 케릭터 ID띄우기 15 file 꼬마쟁이 2011.01.05 7387 0
기타 중복일것 같은데;; [한글 이름 입력] 1 꼬마쟁이 2011.01.05 4641 0
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

Copyright ⓒ Nioting All Rights Reserved. (since 1999)    개인정보
        

Fatal error: Cannot access property sessionController::$lifetime in /web/old/xe/modules/session/session.controller.php on line 45