RMVXA

이벤트 판정을 좀 더 유연하게 만들고 싶습니다.

by 탄막병기 posted Jul 27, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

안녕하세요? RPG VX ACE를 현재 하고 있습니다.


제가 이벤트 판정을 좀 더 유연하게 만드려고 하는데요. 그게 정말로 어렵습니다.



이게 무슨 뜻인가 하면은, 예를 들어, 어느 이벤트가 이동을 하고 있을 때, 어떤 칸에 도달을 하려고 합니다.


이벤트 그래픽은 아직 다다르지는 못했으나, 판정은 이미 그 칸에 인식을 하게 됩니다.


따라서 언뜻 보기에는 닿지 않았다 하더라도 바로 인식을 하게 되는 것이지요. 그래서 이벤트를 피하는 장면에서 보다 사실적이고 유연한 회피를 넣고 싶습니다.



그래서 이렇게 정해보았습니다.


1. 그래픽대로 충돌 판정을 넣어서 넣는다.


-> 가장 이상적인 방법이기는 하지만 툴 내에서는 지원하지 않습니다. 제 생각에는 스크립트를 이용하는 방법이 있다고 보여지지만 찾을 수가 없네요.


2. 이벤트에 여러가지 방법들을 삽입한다.


-> 현재 하고 있는 것이지만 매우 복잡합니다. 일단 저는 이렇게 정의를 하였습니다.



1) 이벤트는 현재 parallel process(병렬 처리)에 놓여져 있는 상태에서(제일 중요) 의 X,Y좌표가 주인공과 일치할 때 조건 분기로 실행됨.

2) 이벤트는 이 때, 바로 반응하지 않고 유예시간이 있음. 단, 유예시간이라도 이벤트가 향하고 있는 방향과 주인공이 이 때 '이동하는' 방향과 반대일 경우 폭발.

3) 유예시간이 지나고 나서 다시 좌표정의를 설정, 주인공과 일치할 때 폭발.



이런 방식입니다만, 여러가지로 버그가 일어나거나 잘 되지 않습니다.


그래서 여러가지로 시험해본 결과, 밑의 예제 파일이 되었습니다.


http://me2.do/5uAdHW4Y (링크로 들어가서 다운받으시면 됩니다.)



참고로 이 이벤트를 여러개를 넣기 때문에 될 수 있으면 좌표정의를 위한 변수를 제외하고 글로벌 스위치나 변수를 사용하지 않았습니다.


그러나 예제의 경우에도 버그가 많아서 실효성이 떨어집니다.



아무튼 간에, 이벤트 판정을 좀 더 유연하게 만들기 위해서 여러가지 시도를 하였으나, 만족스러운 결과물을 내놓지 못했습니다.


그렇다면 이러한 처리를 어떻게 배치를 해야할까요? 아니면 이에 대한 좋은 스크립트가 있다면 소개해주시면 감사하겠습니다.