우선 애니메이션 부터 만들으셔야죠. 액알을 만드신다 했는데, 애니메이션은 전투가 아닌 통상화면에서 사용하면 그 크기가 어색할 정도로 큽니다. 애니메이션을 액알용으로 축소해서 만드시면 3~4칸 정도는 커버할 수 있습니다. 그리고 상하좌우 각각 만들어야 하죠.
애니메이션을 만드셨으면 버튼에 등록해야죠 검에서 검기가 나가는 스킬을 버튼X(키보드로는 a)에 설정해 X버튼을 누르면 액터가 바라보는 방향에 맞는 애니메이션이 나오도록 커먼이벤트를 등록합시다.
이벤트 내용으로는 {조건분기; 플레이어가 버튼 X를 누르고 있다.} {조건분기; [변수:액터의 MP 값] 이 10 이상일 때(거짓일 경우도 처리) {조건분기; 액터가 위를 바라보고 있을 때 '애니메이션 처리, 대상 플레이어, [검기(상)] 분기종료} {조건분기; 액터가 아래를 바라보고 있을 때 '애니메이션 처리, 대상 플레이어, [검기(하)] 분기종료} ' ' ' 분기종료} ;거짓일 경우 SE의 재생 "Cancel" 분기종료} 분기종료}
이렇게 해 두면 플레이어가 버튼 X를 눌렀을 때 mp가 10이상 없다면 경고음이 들리고, 있다면 각 방향에 맞게 검기가 나갈 겁니다.
이제 피격범위를 설정해야죠. 검기가 바라보는 방향으로 3칸 나간다고 칩시다. 일단 병렬처리 이벤트를 이용하거나 역시 커먼이벤트(병렬처리)를 이용, 변수 조작으로 액터의 X값과 Y값을 실시간으로 계산하는 트래커 이벤트를 만듭시다. 각 적마다 동일하게 트래커 이벤트를 만들어 주고요.
이제 적의 피격을 담당하는 이벤트를 각각 만들어 줍시다. 이동경로의 설정으로 얼마든지 다른 이벤트를 제어할 수 있습니다. 그래픽은 투명처리를 하고 이벤트 내용을 만듭시다.(병렬처리)
{조건분기; 플레이어가 버튼 X를 누르고 있다. (아니면 위의 검기 커먼이벤트에서 스위치를 활용하는 것도 좋죠 {조건분기; [변수:액터의 MP값]이 10 이상일 때 {조건분기; [변수:플레이어의 X좌표 값] = [변수:늑대1의 X좌표 값] 일때 (적과 플레이어가 같은 줄에 있는 거죠, 즉 늑대1은 플레이어의 위나 아래에 있습니다. 변수조작; [변수:플레이어의 Y좌표 값 저장] = [변수: 플레이어의 Y좌표 값] 변수조작; [변수:늑대1의 Y좌표 값 저장] = [변수: 늑대1의 Y좌표 값] (플레이어와 늑대1은 실시간으로 좌표를 계산하고 있는 트래커 이벤트를 각각 가지고 있기 때문에 이벤트 처리 도중 꼬이지 않도록 별도의 변수에 저장해 둡시다.) {조건분기; 플레이어가 위를 바라보고 있다. {조건분기; [변수:플레이어의 Y좌표 값 저장] - [변수:늑대1의 Y좌표 값 저장]이 1이상 3이하일 때, (늑대가 플레이어의 위에 있을 경우죠.) ;변수조작 [변수:늑대1의 HP] - [변수:검기 공격력] 애니메이션 처리, 대상 늑대1, Hit
애니메이션을 만드셨으면 버튼에 등록해야죠 검에서 검기가 나가는 스킬을 버튼X(키보드로는 a)에 설정해 X버튼을 누르면 액터가 바라보는 방향에 맞는 애니메이션이 나오도록 커먼이벤트를 등록합시다.
이벤트 내용으로는
{조건분기; 플레이어가 버튼 X를 누르고 있다.}
{조건분기; [변수:액터의 MP 값] 이 10 이상일 때(거짓일 경우도 처리)
{조건분기; 액터가 위를 바라보고 있을 때
'애니메이션 처리, 대상 플레이어, [검기(상)]
분기종료}
{조건분기; 액터가 아래를 바라보고 있을 때
'애니메이션 처리, 대상 플레이어, [검기(하)]
분기종료}
'
'
'
분기종료}
;거짓일 경우
SE의 재생 "Cancel"
분기종료}
분기종료}
이렇게 해 두면 플레이어가 버튼 X를 눌렀을 때 mp가 10이상 없다면 경고음이 들리고, 있다면 각 방향에 맞게 검기가 나갈 겁니다.
이제 피격범위를 설정해야죠. 검기가 바라보는 방향으로 3칸 나간다고 칩시다. 일단 병렬처리 이벤트를 이용하거나 역시 커먼이벤트(병렬처리)를 이용, 변수 조작으로 액터의 X값과 Y값을 실시간으로 계산하는 트래커 이벤트를 만듭시다. 각 적마다 동일하게 트래커 이벤트를 만들어 주고요.
이제 적의 피격을 담당하는 이벤트를 각각 만들어 줍시다. 이동경로의 설정으로 얼마든지 다른 이벤트를 제어할 수 있습니다. 그래픽은 투명처리를 하고 이벤트 내용을 만듭시다.(병렬처리)
{조건분기; 플레이어가 버튼 X를 누르고 있다. (아니면 위의 검기 커먼이벤트에서 스위치를 활용하는 것도 좋죠
{조건분기; [변수:액터의 MP값]이 10 이상일 때
{조건분기; [변수:플레이어의 X좌표 값] = [변수:늑대1의 X좌표 값] 일때 (적과 플레이어가 같은 줄에 있는 거죠, 즉 늑대1은 플레이어의 위나 아래에 있습니다.
변수조작; [변수:플레이어의 Y좌표 값 저장] = [변수: 플레이어의 Y좌표 값]
변수조작; [변수:늑대1의 Y좌표 값 저장] = [변수: 늑대1의 Y좌표 값] (플레이어와 늑대1은 실시간으로 좌표를 계산하고 있는 트래커 이벤트를 각각 가지고 있기 때문에 이벤트 처리 도중 꼬이지 않도록 별도의 변수에 저장해 둡시다.)
{조건분기; 플레이어가 위를 바라보고 있다.
{조건분기; [변수:플레이어의 Y좌표 값 저장] - [변수:늑대1의 Y좌표 값 저장]이 1이상 3이하일 때, (늑대가 플레이어의 위에 있을 경우죠.)
;변수조작 [변수:늑대1의 HP] - [변수:검기 공격력]
애니메이션 처리, 대상 늑대1, Hit
이런 식으로 각각 다른 방향에서의 경우도 만들어 줍시다.