2007.06.22 09:31

액알 액알 액알.

조회 수 371 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

몬스터와 동료는 주인공과는 다른 객체입니다.


주인공은 유저의 의지대로 움직이는 객체라면 몬스터와 동료는 스스로의 의지가 없기 때문에


만드는 사람이 모든 행동을 하나하나 만들어줘야 합니다.


그 둘의 이벤트를 발생 시키는 조건?


몬스터와 동료 모두 근접전만을 펼친다는 가정하로 말씀드립니다.


 


 


 


몬스터와 동료가 서로를 인지하려면?


서로 인지 가능한 범위내에 들어와야겠죠?


 


몬스터의 시야아 동료의 시야 범위를 지정해줍니다.


이정도는 할 수 있습니까?


몹의 시야와 동료의 시야 변수를 지정해두고


그 변수 만큼 최소,최대의 XY 범위를 지정해주어 시야 범위를 지정해줍니다.


혹시 이 과정을 모르겠다고 한다면 자세히 설명 해드립니다.


그 다음 동료든 몬스터든 상대가 자신의 시야의 안으로 들어왔을때


그 이벤트로 향하게 이동시켜주면 됩니다.


 


 


 


몬스터와 동료가 싸우려면?


가까운 거리에 붙어있어야겠죠?


 


이때는 몬스터와 동료가 모두 근접전으로만 치고 박는다는걸 가정으로 합시다.


(그개 가장 보편적이고 쉬우니까)


위에서 지정한 범위로 서로를 인지해서 가까이 붙었다 합시다.


근데 서로 가까운 거리인지 먼 거리인지 어떻게 인식 시키냐?


몬스터와 동료의 좌표룰 구해 그 차이를 구해주면 됩니다.


예를 들어볼까요?


 


몬스터의 좌표는 5,5


동료의 좌표는 5,6


 


이때 몬스터와 동료의 좌표 차이는 0.


몬스터와 동료의 좌표 차이는 1.


따라서 서로의 거리는 1이므로 붙어있는 상황입니다.


 


서로의 차이를 구하는 방법은 서로의 X,Y 좌료는 감산 해주면 되는데,


이때 나온 값이 -1이라면 -1로 곱해줘서 양의 정수로 바꿔주면 됩니다.


 


 


 


 


자, 가까운 거리에 붙어있음을 인식했다.


근데 상대를 공격하려면?


상대를 정면으로 바로보고 있어야 한다.


 


예를 들어 동료가 몬스터를 공격할 것이고 서로의 거리를 1이라 가정합시다.


이때 동료가 바라보는 방향을 조건분기로 해서


위를 바라보고 있을때 Y좌표를 -1.


오른쪽을 바라보고 있을때 X좌표를 +1.


아래를 바로보고 있을때 Y좌표를 +1.


왼쪽을 바라보고 있을때 X좌표를 -1.


이렇게 구한 좌표와 몬스터의 좌표가 일치 한다면 서로 치고박고 하게 해주시면 됩니다.


 


 


즉, 동료와 몬스터가 서로 치고박게 하려면 3가지의 조건을 충족 시켜야합니다.


 


1.시야 내에 들어와 있을것.


2.최대한 가까이 붙어있는지 거리를 잴 것.


3.거리가 최대한 가까운 거리일때 상대를 정면으로 바라보고 있을때.


 


 


 


 


설명이 어려웠나요?


저는 쉽게 설명을 할줄 몰라서 큰일입니다. -_-;;;


 


 


 


 


 


0~9까지의 키를 눌렀을때 이벤트를 실행 시키는 방법은


해당 숫자키의 입력 처리를 받게끔 해준 다음에 (이건 설명 안 합니다.)


각 숫자키의 고유 번호 변수를 조건 분기로 해줍니다.


0키의 변수는 10.


1키의 변수는 11.


이런식으로 9번 키의 변수는 19입니다.


따라서 0~9번 까지의 키를 별개의 이벤트로 실행 시켜주려면 총 10개의 조건분기가 필요합니다.


 


다른 이벤트와 접촉해서 정기적으로 병렬 처리되는 이벤트를 중단 시키려면,


진행되던 이벤트에 쓰이던 스위치 또는 변수를 조건값 이외로 바꿔주시면 됩니다.


스위치의 경우는 OFF 시켜주시면 되고,


변수의 경우 시작 조건이 1 이상이라면 단지 0으로 바꿔주는 것으로 이벤트를 중단시킬 수 있습니다.


 


 


 


 


 


설명 정말 어렵죠? ;;;

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
8827 저번 글들과, 이전 글에 대해 묻고 싶습니다. idtptkd 2005.05.17 1315
8826 이전 작가들은 어떻게 되는 건가요? 아렉스 2005.05.17 1092
8825 이전 작가들은 어떻게 되는 건가요? 영원전설 2005.05.18 1153
8824 프루티룹스 질문... 신승일 2005.05.18 1473
8823 창작글만 있는데 감상문 같은 건 쓸수 없나요? 다르칸 2005.05.18 995
8822 창작글만 있는데 감상문 같은 건 쓸수 없나요? 아렉스 2005.05.18 1032
8821 창작글만 있는데 감상문 같은 건 쓸수 없나요? 천무 2005.05.18 821
8820 창작글만 있는데 감상문 같은 건 쓸수 없나요? 『水』신교 2005.05.18 869
8819 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; 밀크마스터 2005.05.18 1166
8818 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; 나랑놀자 2005.05.18 1111
8817 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; 셉티찡 2005.05.18 1170
8816 릴레이 소설 말인데요... 외로운갈매기 2005.05.18 675
8815 이전의 창작글 게시판의 글은 어케되나요? 천무 2005.05.18 471
8814 이전의 창작글 게시판의 글은 어케되나요? Sir_아사히 2005.05.19 563
8813 윈도우 98에서는 rpgxp안돌아가요 ? 바람을 가르는 자 2005.05.19 767
8812 윈도우 98에서는 rpgxp안돌아가요 ? 미칼렌 2005.05.19 927
8811 패치 요청... Norid 2005.05.19 454
8810 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; black-angel 2005.05.19 1147
8809 [RPG XP] 게임 테스트 오류. 살려주세요// Norid 2005.05.19 939
8808 릴레이소설 사래신장전 완결했는데요.. 적랑 2005.05.20 648
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


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

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