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
번호 제목 글쓴이 날짜 조회 수
» 액알 액알 액알. 아싸사랑 2007.06.22 371
5366 액알 액알 액알. 무역장사 2007.06.20 607
5365 삭제 SSS 2007.06.20 479
5364 XP 스크립트의 기능에 대해.. SSS 2007.06.20 664
5363 현재 맵에있는 타일셋 아이디를 스크립트로 변경하는법 없나요 연(淵) 2007.06.20 788
5362 맵 순서조절 RayPotassium 2007.06.10 556
5361 적들을 죽여도 안사라지내여 ㅠㅠ 『덩키동크』 2007.06.10 385
5360 적들을 죽여도 안사라지내여 ㅠㅠ hanch 2007.06.10 565
5359 액션알피지에서 총과 활을 쏘는 방법 강석룡 2007.06.10 698
5358 이벤트의 이동루트 설정 질문드려요! 아싸사랑 2007.06.10 175
5357 이벤트의 이동루트 설정 질문드려요! 펭귄버거 2007.06.10 381
5356 캐릭터 자작 프로그램 질문. 『덩키동크』 2007.06.10 363
5355 캐릭터 자작 프로그램 질문. 비옴 2007.06.10 612
5354 게시물에 그림 보이게 하는 태그 말인가요? 아란 2007.06.10 1168
5353 RPGXP 테스트, 실행조차 안된다? RayPotassium 2007.06.07 896
5352 RPG2K재료] 자료실 문제, Archer 2007.06.07 489
5351 전투할때 케릭터가 계속 더블어택을 하네요.. 풍자 2007.06.03 548
5350 애니메이션 데이터 읽기를 실패했습니다..? 린쌍 2007.06.03 223
5349 애니메이션 데이터 읽기를 실패했습니다..? 위토르 2007.06.03 428
5348 기본전투계산식이 궁금합니다. Novelist 2007.06.03 402
Board Pagination Prev 1 ... 169 170 171 172 173 174 175 176 177 178 ... 442 Next
/ 442


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

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