창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳
글 수 185
알만툴 액알.
원리가 도저히 이해가 안 갑니다.
그림넣어서 설명해주세요.
그 뭐시기 그냥 근접공격만 일단.
나중가서 원거리를 합시다.
원리가 도저히 이해가 안 갑니다.
그림넣어서 설명해주세요.
그 뭐시기 그냥 근접공격만 일단.
나중가서 원거리를 합시다.
흑곰
- 2008.04.18
- 07:38:09
- (*.146.136.211)
액알을 알려면 변수를 알아야합니다.
똥똥배님의 설명에 따르면, 변수란 어떤 정보를 넣어두는 공간이라고 보면됩니다.
방이라고 보시면 되요.
Room이요 룸. 방 아시죠?
만약에 'ENEMY_HP' 라는 변수가 있다고 칩시다.
ENEMY_HP 라는 문패가 걸린 방이 있는거라고 생각하세요.
ENEMY_HP, 대입 100 하면 그 방에 100 이라는 숫자가 들어가는 겁니다.
ENEMY_HP, 가산 10 하면 그 방의 숫자에 +10 하는거구요.
가산(加算)의 가는 加(더할 가)입니다.
방 안에 있는 숫자 + 10 이 되는거에요.
만약에 ENEMY_HP 에 30이 대입되어있었는데,
ENEMY_HP, 가산 5 하면 변수값이 35가 되는 거구요.
거기에 또 ENEMY_HP 가산 10 하면 45가 되겠죠.
대입은 =
가산은 +
감산은 -
이렇게 보시면 되고 나머지는 별로 안쓰입니다. 어쨋건 변수를 알면 액알 만들기는 제법 순탄하게 되지요.
기본원리는
주인공이 처음 필드에 나설 때 ENEMY_HP에 300을 대입하고,
ENEMY_HP값이 0보다 크면 적을 표시하게 해둡니다.
그리고 주인공이 적을 때릴 때 마다 30씩 감산시키게 해둡니다.
그럼 적은 10대 맞으면 ENEMY_HP 값이 0 이 되죠?
앞에서 ENEMY_HP 값이 0 보다 클 때 적을 표시하게 해뒀다고 했으니까
적은 화면에서 사라집니다.
일단 주인공 캐릭터와 적 캐릭터가 있습니다.
그리고 투명이고 안 보이는(아니면 공격 효과 애니메이션) 캐릭터 하나가 있습니다.
공격 영역 캐릭터라고 합시다.
이 캐릭터는 일단 이동 불가한 지점같은 구석에 일단 박아두십시오.
보통 0,0을 이동 불가능한 지점으로 만들어 두고 거기에 두는게 가장 편합니다.
이동 가능한 곳에 둘 수도 있는데 그럼 조건식 복잡하니 일단 이동 불가능한 곳에.
이제 주인공의 키 입력을 받았을 때를 처리합니다.
병렬 처리로 하면 좋습니다.
키를 입력 받았을 때 주인공의 방향을 검사한 다음,
위를 보고 있으면 주인공 위에, 아래를 보고 있으면 주인공 아래에...
이런 식으로 방향에 따라서 공격영역 캐릭터의 위치를 설정해줍니다.
이벤트 중에서 캐릭터 위치 설정이란 게 있죠? 그걸로 하시면 됩니다.
이제 또 하나의 병렬 처리가 필요합니다.
적 캐릭터와 그 공격 영역의 좌표를 얻어와서 변수에 넣고
적과 그 공격 영역의 X, Y 좌표가 일치하면 적 캐릭터에게 대미지를 줍니다.
일단은 간단하게 그냥 일시 삭제되게 해버리세요.
그리고 공격한 영역에 계속 그것이 남아있으면 지뢰처럼 되어 버리니
어느 정도 시간이 지나면 다시 0,0으로 보내 줍시다.
일단 처음부터 완벽을 바라지 마시고 일단 적이 공격영역과 부딫쳐 죽어버리는 것 까지 연습해 보세요.