조회 수 2307 추천 수 4 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

 


※네이버 어느 카페에 누군가 범위 마법에 대해 질문하길래 제가 답변을 해줬는데


   답변으로만 남기에는 투자한 시간도 아깝고(...) 강좌로도 좋겠다 싶어서


   여기에 약간의 수정을 거쳐서 옮깁니다.


 


 


 


 


범위 좌표를 구하는 것은 여러 방면에 쓰입니다.


 


그중 가장 대표적인게 ARPG에서 범위 마법을 구현 할 때에 쓰이고,


 


몹이 주인공을 인식하는 시야를 정하는 데에도 쓰입니다.


 


방법은 여러가지가 있습니다.


 


그 중에서 보편적인 한가지만 알려드립니다.


 


 


 


 


먼저 이 방법을 하려면 총 6개의 변수가 필요합니다.


 


범위 마법 최소 범위 X


범위 마법 최대 범위 X


범위 마법 최소 범위 Y


범위 마법 최대 범위 Y


적 X


적 Y


 


이름은 굳이 이렇게 하지 않으시고 맘대로 지으셔도 됩니다.


 


만드는 사람만 알아 볼 수 있으면 그걸로 된 겁니다.


 


X란 가로, Y란 세로입니다. 그건 아시죠?


 


이 4개의 변수가 필요한 이유를 그림으로 설명 해드립니다.


 



 


 


 


우리가 범위 공격으로 적에게 타격을 줄 범위는 빨간색 빗금이 쳐진 네모 안 입니다.


 


X좌표는 왼쪽이 최소, 오른쪽이 최대 범위.


 


Y좌표는 윗쪽이 최소, 아랫쪽이 최대 범위입니다.


(착각 하실 수 있는데, Y 좌표는 분명히 아래로 갈 수록 좌표가 커지므로 아랫쪽이 최대 범위입니다.)


 


우리는 이 범위 안에 있는 적을 공격해야만 하고 이 범위를 좌표 조작으로 조작해야만 합니다.


 


이제 변수 준비를 마쳤으니 좌표를 이용해 범위를 지정해줍시다.


 


지금 설명 할 것은 주인공이 오른쪽을 바라보고 있을때를 기준으로 설명 합니다.


 


일단 범위 마법 최소 X, 범위 마법 최대 Y에 주인공의 X 좌표를,


 


범위 마법 최소 Y, 범위 마법 최대 Y 에 주인공의 Y 좌표를 대입해줍니다.


 


이걸로 주인공의 좌표가 기준점이 되었으며 범위 마법의 범위는 주인공의 좌표를 그대로 가져와 1x1의 범위를 가지게 되었습니다.


 


아래의 그림은 우리가 현재 지정한 범위에 빨간 테두리를 친 것입니다.


 



 


이제 우리는 좌표를 조작함으로써 이 범위를 마음대로 늘리고 줄일 수 있습니다.


 


다음의 방법대로 좌표의 범위를 조작해봅시다.


 


X의 최소 범위를 조절하게 되면 왼쪽 방향으로 사각형이 늘어납니다.


X의 최대 범위를 조절하게 되면 오른쪽 방향으로 사각형이 늘어납니다.


Y의 최소 범위를 조절하게 되면 윗쪽 방향으로 사각형이 늘어납니다.


Y의 최대 범위를 조절하게 되면 아랫쪽 방향으로 사각형이 늘어납니다.


 


위의 원칙에 따라 범위를 한번 늘려봅시다.


 


다만 주의 하실건 최소 범위를 조절할 때는 반드시 - 가산 또는 감산을 해주시고,


 


최대 범위를 조절 하실때는 그냥 가산을 해주시면 됩니다.


 


이 원칙에 따라서 양쪽으로 2칸, 위아래로 2칸씩 늘리려면


 


X의 최소 범위에 -2를 가산. (또는 2 감산)


X의 최대 범위에 2를 가산. (또는 -2 감산)


Y의 최소 범위에 -2를 가산. (또는 2 감산)


Y의 최대 범위에 2를 가산. (또는 -2 감산) 해주시면 됩니다.


 


이제 우리가 지정한 범위를 확인해봅시다.


 


 


 



 


 


이제 좌표로 범위를 정해주는 일은 끝났습니다.


 


다음은 이 범위 안에 있는 적에게 타격을 주는 커맨드를 주는 일만 남았습니다.


 


적이 데미지를 입으려면 이 빨간색 범위 안에 있어야 하겠지요?


 


이 조건을 그대로 커맨드로 옮겨줍니다.


 


조건 분기로..


 


적 X가 범위 마법 최소 X 이상.


적 X가 범위 마법 최대 X 이하.


적 Y가 범위 마법 최소 Y 이상.


적 Y가 범위 마법 최대 Y 이하.


 


즉, 적의 X 좌표가 범위 마법 X 좌표의 최소 범위와 최대 범위 안에 있어야 한다는 것이고,


 


적의 Y 좌표가 범위 마법 Y 좌표의 최소 범위와 최대 범위 안에 있어야 한다는 조건을 만들어주시면 됩니다.


 


이제 그 4줄의 조건 분기 안에다 적의 체력을 깎아버리는 변수 조작과


 


애니메이션 표시 등의 효과를 넣어주시면 끝납니다.


 


 


 


 


 


 


 


 


 


 


 


 


이제 지금 까지 배운걸로 범위를 마음대로 늘리고 줄여봅시다.


 


제가 그림을 제시 할테니 이 그림대로 좌표를 가산(또는 감산) 해보십시오.


 


정답은 맨 아래에 있습니다.


 


 


 


1) 오른쪽 방향으로 6 x 1 의 범위.


 



 


 


2) 주인공을 중심으로 3 x 3 의 범위.


 



 


 


3) 오른쪽 상단으로 약간 쏠린 5 x 5 의 범위.


 



 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


1 정답


 


X 최소 범위는 그대로 두기. (아무런 가산이나 감산을 하지 않는다.)


X 최대 범위에 6을 가산. (또는 -6 감산)


Y 최소 범위는 그대로 두기. (아무런 가산이나 감산을 하지 않는다.)


Y 최대 범위는 그대로 두기. (아무런 가산이나 감산을 하지 않는다.)


 


※아무런 가산이나 감산을 하지 않을때는


   변수 커맨드를 굳이 지우지 마시고 가·감산의 숫자만 0 으로 바꿔주셔도 됩니다.


 


 


 


2 정답


 


X 최소 범위에 -1을 가산. (또는 1 감산)


X 최대 범위에 1을 가산. (또는 -1 감산)


Y 최소 범위에 -1을 가산. (또는 1 감산)


Y 최대 범위에 1을 가산. (또는 -1 감산)


 


 


 


3 정답.


 


X 최소 범위에 -1을 가산. (또는 1 감산)


X 최대 범위에 3을 가산. (또는 -3을 감산)


Y 최소 범위에 -3을 가산. (또는 3을 감산)


Y 최대 범위에 1을 가산. (또는 -1을 감산)

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
884 언어/기타 게임의 리얼리티화 유진 2007.08.16 2461
883 언어/기타 바실리어트 3. 메인화면 제작 Vermond 2007.08.14 5958
882 언어/기타 바실리어트 4. 소스 준비 Vermond 2007.08.14 4622
881 언어/기타 [C++] 최단거리 구하는 알고리즘, E log V Dijkstra 악희 2007.08.05 2314
880 언어/기타 [DX/VB] DirectDraw? 별거 아냐! (3) 더블 버퍼의 생성과 블리팅 악희 2007.08.03 1839
879 언어/기타 0707후반기[제작자포럼]공성결과 천무 2007.08.01 1372
878 언어/기타 [DX/VB] DirectDraw? 별거 아냐! (2) 블리팅, 그리고 투명도 악희 2007.07.31 1912
877 RPG Maker 초보자를 위한 그래픽 소스 게임에 넣을 때의 팁. 1 file 한글화마스터 2007.07.30 2384
876 언어/기타 7월상반기(제작자포럼)공성결과 천무 2007.07.30 1094
875 언어/기타 [DX/VB] DirectDraw? 별거 아냐! (1) DirectDraw객체의 생성과 표면의 생성 악희 2007.07.29 1756
874 언어/기타 두드리는 미니게임... JIN[晉] 2007.07.25 1439
873 RPG Maker [스크립트 문제]RPGXP에서 타일셋의 우선순위 문제 해결 file Novelist 2007.07.19 1738
872 RPG Maker RPGXP 초보강좌 [스위치] 우리의만두 2007.07.16 921
871 언어/기타 바실리어트 2. 스크립트 입문 1 Vermond 2007.07.05 4976
870 언어/기타 바실리어트 1. 시작하기 전에 Vermond 2007.07.03 6071
869 언어/기타 [THDO]판화 세계지도제작 스크립트. file 협객 2007.06.25 2704
868 언어/기타 바실리어트 - 비주얼노벨형 게임 제작용 엔진 플루비아♥ 2007.06.25 2635
867 언어/기타 삭제 게이지의달인 2007.06.14 534
866 언어/기타 [C++] 클래스(객체지향) - 기본 생성자와 소멸자 Sirjhswin 2007.06.13 1956
865 RPG Maker RPGXP의 기본전투 속도를 더욱 빠르게~ 2 Novelist 2007.06.10 1978
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 51 Next
/ 51






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

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