CODEONWORT

단타성 공격과 연타성 공격 본문

Season 1/플래시

단타성 공격과 연타성 공격

codeonwort 2010.04.10 22:22

아마도 초보자용 글

몇 년 전, 궁수가 화살을 쏘는 횡스크롤 게임을 만들던 적이 있다. (개념이 안 잡혀서 고생하다 맵 3개 쯤 만들고 관뒀다.) 화살에 맞은 몬스터의 HP가 쭉쭉 달던 것이 기억난다. 화살에 맞으면 화살이 없어지든 박히든 꿰뚫든 몬스터는 피해를 한 번만 입는 게 보통이다. 그럼 그렇게 구현해보자.

특정 개체를 공격하는 횟수에 따라 공격 유형을 나눈다.
1. 단타성 공격 : 특정 개체를 한 번만 공격할 수 있다. 공격자는 한 번 공격한 후 사라지거나 더이상 개체에 영향을 주지 않는다.
2. 연타성 공격 : 특정 개체를 여러 번 공격할 수 있다. 한 번 공격하고 다시 공격할 수 있기까지 시간 간격이 있다.

단타성 공격



칼은 스페이스 바로 휘두른다. 칼에 맞는 동안 계속 HP가 줄어든다.

 
문제를 수정했다. 칼에 맞으면 HP가 한 번만 깎인다.

첫 번째 예제의 문제는 간단하다. 충돌 처리 부분에만 집중하자. 공격 방법이나 타임라인 구조는 중요하지 않다.
<example1의 코드>
crt는 공격자다. 프레임 1은 그냥 서 있는 그림이고 프레임 2부터는 공격하는 애니메이션이 들어 있다. 즉 if문 조건은 [공격하는 중이고 검이 적과 충돌했으면]이다. 조건을 만족하면 피해자의 hp를 깎는다. 그런데 이 과정이 enterFrame 수신자 안에서 진행되기 때문에 공격 애니메이션 프레임 수만큼 공격을 맞는다. 이 예제에서 공격 애니메이션은 2~8프레임이므로 한 번 공격했는데 7번을 때린다.
이건 뭐 프렌지보다 심하잖아

더보기




예제들
4 Comments
댓글쓰기 폼