메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

알만툴 액알.
원리가 도저히 이해가 안 갑니다.
그림넣어서 설명해주세요.
그 뭐시기 그냥 근접공격만 일단.
나중가서 원거리를 합시다.
조회 수 :
2282
등록일 :
2008.03.26
02:07:59 (*.47.100.50)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=186690

똥똥배

2008.03.28
01:00:22
(*.239.144.2)
그림까지는 못 보여드리겠고 간단히 말로 설명할께요.

일단 주인공 캐릭터와 적 캐릭터가 있습니다.
그리고 투명이고 안 보이는(아니면 공격 효과 애니메이션) 캐릭터 하나가 있습니다.
공격 영역 캐릭터라고 합시다.
이 캐릭터는 일단 이동 불가한 지점같은 구석에 일단 박아두십시오.
보통 0,0을 이동 불가능한 지점으로 만들어 두고 거기에 두는게 가장 편합니다.
이동 가능한 곳에 둘 수도 있는데 그럼 조건식 복잡하니 일단 이동 불가능한 곳에.

이제 주인공의 키 입력을 받았을 때를 처리합니다.
병렬 처리로 하면 좋습니다.
키를 입력 받았을 때 주인공의 방향을 검사한 다음,
위를 보고 있으면 주인공 위에, 아래를 보고 있으면 주인공 아래에...
이런 식으로 방향에 따라서 공격영역 캐릭터의 위치를 설정해줍니다.
이벤트 중에서 캐릭터 위치 설정이란 게 있죠? 그걸로 하시면 됩니다.

이제 또 하나의 병렬 처리가 필요합니다.
적 캐릭터와 그 공격 영역의 좌표를 얻어와서 변수에 넣고
적과 그 공격 영역의 X, Y 좌표가 일치하면 적 캐릭터에게 대미지를 줍니다.
일단은 간단하게 그냥 일시 삭제되게 해버리세요.

그리고 공격한 영역에 계속 그것이 남아있으면 지뢰처럼 되어 버리니
어느 정도 시간이 지나면 다시 0,0으로 보내 줍시다.

일단 처음부터 완벽을 바라지 마시고 일단 적이 공격영역과 부딫쳐 죽어버리는 것 까지 연습해 보세요.

흑곰

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 보다  클 때 적을 표시하게 해뒀다고 했으니까
적은 화면에서 사라집니다.

흑곰

2008.04.18
07:45:37
(*.146.136.211)
액알을 만드는 법에 대해서는 똥똥배님이 설명해주셨으니
전 변수에 대해서만 설명하고 물러갑니다ㅋ

열심히 하세요
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
145 cocos2d-x 2.2.2 문자열 출력 버그 [2] 똥똥배 2014-06-10 601
144 QT 프로젝트 배포에 필요한 거 똥똥배 2013-07-11 602
143 cocos2d-x 2.2.2 윈도우 환경 기본 메모리 누수 똥똥배 2014-03-10 640
142 cocos2d-x Clipping Layer 수정 똥똥배 2013-09-10 670
141 Lua 소코반: 상자를 만들고 옮기고 상자와 상자가 겹치거나 상자와 벽이 겹치지 않게 해 보자! 노루발 2013-09-17 677
140 CCTextFieldTTF 0바이트 메모리 누수 버그 해결법 똥똥배 2014-01-13 692
139 Lua 소코반: 벽을 뚫고 나가지 않게 해보자! 노루발 2013-09-17 696
138 Love2D를 사용하기 위한 Lua 강좌: 입출력과 기본 노루발 2013-09-17 705
137 흥크립트 원인불명 버그... [3] file 네모상자 2008-02-16 738
136 Lua 소코반: 목표 지점을 만들고, 상자가 모두 옮겨지면 게임을 끝내자! 노루발 2013-09-17 754
135 Lua 소코반: 플레이어를 그리고 움직이게 해보자 노루발 2013-09-17 758
134 게임의 기본 설정을 담당하는 love.conf 노루발 2013-09-17 763
133 Cocostudio의 ActionNode 메모리 누수 해결법(cocos2d-x 2.2.2) [2] 똥똥배 2014-03-09 776
132 cocos2d-x 2.2.2 UILabelBMFont 메모리 누수 해결법 [2] 똥똥배 2014-03-10 783
131 이미지 그리는 방법 1편 노루발 2013-09-17 812
130 이미지 그리는 방법: 2편. 부제: 쿼드! 노루발 2013-09-17 821
129 Lua 소코반 EX: 포팅: 2 (키가 눌리면 이동하게 해 보자) 노루발 2013-09-18 832
128 Lua 소코반: 맵을 뿌리자. 노루발 2013-09-17 833
127 Lua 소코반 EX: 포팅: 1 노루발 2013-09-18 856
126 Lua 소코반 EX: 포팅: 3 (머나먼 여행길 안녕 친구여) 노루발 2013-09-18 913