공통 Script
2012.09.27 19:54

화면이 부드럽게 이동돼는 스크립트

조회 수 1505 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
라이센스 기타 라이센스
출처 http://avangs.info/rgss_xp/829036
강의종류 혼합
사용/적용순서 스크립트 창을 열어서 저장 하십시오.


#==============================================================================
# ★ 촬영 기술 var 1.0 (07.2.12) by shun 번역: 인간(jty1025)
#------------------------------------------------------------------------------
# 맵 화면에서 스크롤을 카메라풍으로 늦추거나
# 플레이어와는 독립시켜 스크롤 시키거나 할 수 있습니다.
#==============================================================================

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

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

『적용법』

메인위에 스크립트 추가.jpg

추가버튼을 클릭하시면

빈 화면.jpg

추가 되었을것 입니다.



붙여넣기.jpg

붙여넣기 버튼을 클릭 하고 적용 → 확인을 클릭 하시면 됩니다.

그리고 스크립트 이름을 써 주세요.


List of Articles
분류 제목 글쓴이 날짜 조회 수 추천 수
긴급상황 발생시 연락처 안내 독도2005 2012.11.28 2203 0
니오팅 이용 규칙 (2013.01.05 3차 개정) 7 file 소녀쿤 2012.01.15 15583 0
여러분의 의견을 받습니다. 20 file 니오팅 2010.01.29 4236 2
공지사항 일본어 스크립트를 번역하기 좋은 번역사이트 두곳입니다 ruby 2010.01.09 21507 0
공지사항 스크립트 게시판 관리자' ruby ' 입니다 ruby 2010.01.09 20476 0
공지사항 일본 스크립트/소스 공유 포럼 4 니오티 2010.01.05 21905 0
대화관련 한글자씩 글자 나오는거 완전판!!(오류 하나도 없음) 만원만주라 2013.07.09 1532 0
전투관련 누구나 쉽게 만드는 액션알피지 6 펜릴 2012.11.25 3850 0
공통 Script 화면이 부드럽게 이동돼는 스크립트 2 ★Best갱신★ 2012.09.27 1505 0
맵관련 혹시나해서 일정키로 스크롤X 화면 부드럽게만...(스크립트를 삭제를 조금 했습니다) 호호리터엉 2012.02.13 1666 0
장르변경 2D 로 가는길! 횡스크롤 이닷! 공냑군 2012.01.24 1930 0
기타 게이지바 스크립트!! 최고!! 12 file 코아 코스튬 2011.08.08 3752 0
대화관련 대화 창에 얼굴 넣기 스크립트 4 file 노르 2011.08.08 2969 0
맵관련 조금 다른 맵표시 스크립트 file 노르 2011.08.08 1789 0
시각적 효과 NPC 위에 이름표시 하기 스크립트 2 file 노르 2011.08.08 2354 0
전투관련 초간단 XAS 오리지널. 1 file 호호리터엉 2011.08.04 2511 0
스킬관련 전투 비슷??????????? 아오오오오옹니 2011.07.29 1766 0
기능추가 전체키 스크립트 8 닉네임이없습니다 2011.07.19 2104 0
기타 이름입력 스크립트 2 닉네임이없습니다 2011.07.16 2077 0
맵관련 맵이름 띄우기 (오류없이 진짜나옵니다) 6 지나가던개 2011.07.06 2158 0
메뉴관련 간단한 링 메뉴 스크립트(처음올리는 스크립트) 1 lts1503 2011.05.22 2053 0
온라인 이것은약간온라인이랑섞인듯? 어쨋든 클릭스크립트!! 2 file 호호리터엉 2011.02.23 2127 0
맵관련 W키눌러서 미니맵표시 12 호호리터엉 2011.01.22 2677 1
맵관련 Shift키누르고 방향키누르면 화면스크롤되는것 7 file 호호리터엉 2011.01.21 2471 0
맵관련 맵이름 띄우기, 케릭터 ID띄우기 15 file 꼬마쟁이 2011.01.05 7237 0
기타 중복일것 같은데;; [한글 이름 입력] 1 꼬마쟁이 2011.01.05 4398 0
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6

Copyright ⓒ Nioting All Rights Reserved. (since 1999)   개인정보취급방침