공통 Script
2012.09.27 19:54

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

조회 수 2037 추천 수 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
분류 제목 글쓴이 날짜 조회 수 추천 수
공지사항 일본어 스크립트를 번역하기 좋은 번역사이트 두곳입니다 ruby 2010.01.09 22088 0
공지사항 스크립트 게시판 관리자' ruby ' 입니다 ruby 2010.01.09 20728 0
공지사항 일본 스크립트/소스 공유 포럼 4 니오티 2010.01.05 22259 0
공지사항 일본 스크립트/소스 공유 포럼 4 니오티 2010.01.05 22259 0
공지사항 일본어 스크립트를 번역하기 좋은 번역사이트 두곳입니다 ruby 2010.01.09 22088 0
공지사항 스크립트 게시판 관리자' ruby ' 입니다 ruby 2010.01.09 20728 0
기타 한글입력기 16 file 히카루 2007.01.31 14282 1
전투관련 간단한 액션알피지용 스크립트 Ver.1.01 (게임오버 추가) 38 file 펜릴 2010.04.11 8762 0
기타 Staff Roll 4 file 허걱 2010.03.04 7523 0
맵관련 맵이름 띄우기, 케릭터 ID띄우기 15 file 꼬마쟁이 2011.01.05 7403 0
온라인 RPG XP 온라인 스크립트 25 file 니오티 2007.02.15 6873 6
온라인 온라인스크립트 1.7 28 file 아디안 2007.02.16 5502 27
기타 중복일것 같은데;; [한글 이름 입력] 1 꼬마쟁이 2011.01.05 4647 0
시각적 효과 타이틀화면 나오기전 사운드아함께 로고뛰우기 예 넥슨로고 12 루비 2007.09.07 4471 6
전투관련 누구나 쉽게 만드는 액션알피지 6 펜릴 2012.11.25 4373 0
기타 게이지바 스크립트!! 최고!! 12 file 코아 코스튬 2011.08.08 4270 0
전투관련 리얼타임을 이용한 딜레이 구현 1 펜릴 2010.01.10 4197 0
메뉴관련 RPG XP 테스트플레이 할때 '뉴게임' '콘티뉴' '슛다운' 바꾸기 [중복이면 죄송] 12 이정한 2007.03.07 4153 18
기타 3d 스크립트 (적용시 바로 실행가능&암호걸림) 15 file kjs 2010.06.04 4095 0
전투관련 턴알 게이지바 변경 스크립트 (HP/SP) 3 file 니오티 2007.02.20 3984 2
시각적 효과 물가에 모습비치게 하기 25 file 아하하 2007.12.06 3948 6
전투관련 콤보 스크립트 10 아하하 2007.12.05 3700 4
XP 형식 메뉴 2 file Jenpia 2010.07.29 3641 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