메뉴 건너뛰기

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

알만툴 액알.
원리가 도저히 이해가 안 갑니다.
그림넣어서 설명해주세요.
그 뭐시기 그냥 근접공격만 일단.
나중가서 원거리를 합시다.
조회 수 :
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 날짜 최근 수정일
105 명령문 질문드립니다. [1] X-tra 2244   2008-03-26 2008-03-27 00:40
변해서 게시판 찾기 어려울것 같았는데 이상하게 한번에 찾아 버렸네요. 연구소라고 적혀 있어서요... 이번건 질문이라고 하기에는 좀 애매합니다. 예전에 흥크립트의 모든 명령어가 적혀 있던 파일을 본 기억이 납니다. 하지만 아무리 찾아도 없더군요. 블로...  
104 OgreOde 사용기 똥똥배 3184   2008-03-25 2008-03-25 21:37
OgreSDK 버전 1.4.7 OgreOde 버전 0.95(아마도) 사실 오우거 엔진 쓴지도 얼마 안 되고 물리엔진은 처음 만져봤습니다. 처음에 Ogre Wiki에 나온대로 따라서 만들었는데 crateCube.mesh와 plane.mesh 때문에 에러가 나서 바닥은 직접 만들고 crateCube 대신 오...  
» 저는 사실 이걸 잘 못해요. [3] 앟랄 2282   2008-03-26 2008-04-18 07:45
알만툴 액알. 원리가 도저히 이해가 안 갑니다. 그림넣어서 설명해주세요. 그 뭐시기 그냥 근접공격만 일단. 나중가서 원거리를 합시다.  
102 MFC 더블 버퍼링 질문 [2] A.미스릴 6603   2008-06-13 2013-11-23 08:43
void CPingpongView::OnDraw(CDC* pDC) { CPingpongDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here // 현재 창 크기와 같은 DC를 만듬 CRect rect; GetClientRect(&rect); int int_client_width = (rect.ri...  
101 임의의 점이 다각형 내부에 있는지 검사하는 함수 똥똥배 5358   2008-04-14 2008-04-14 02:21
수학도 기하학도 허접한 제가 짠 거라서 허접하지만 넓은 아량으로 봐 주십시오. struct Point { double x; double y; }; bool LineIn(Point p1, Point p2, Point p3) { double top, bottom; //위 아래 범위 결정 if(p1.y < p2.y) { top = p1.y; bottom = p2.y...  
100 문D라이브로 더블드래곤을 만들자(1) [2] file 똥똥배 4479   2008-04-16 2008-04-17 08:29
 
99 VC++ 2008 Express Edition에서 문D라이브 링크 [2] A.미스릴 13090   2008-04-17 2014-04-15 17:28
SDK도 최신버전으로 깔아주었고 도구 설정도 적절하게 했습니다 모든 셋팅이 완료되고 링크를 해보니까 아래와 같은 문장이 쭉쭉나오는군요 warning은 굉장히 많이 나오는데 실제로 컴파일을 막아버린 부분은 LINK : fatal error LNK1104: 'LIBC.lib' 파일을 ...  
98 문D라이브로 더블드래곤을 만들자(2) [6] file 똥똥배 3611   2008-04-18 2013-11-23 08:43
 
97 문D라이브로 더블드래곤을 만들자(3) file 똥똥배 3430   2008-04-18 2008-04-18 18:27
 
96 문D라이브로 더블드래곤을 만들자(4) [2] file 똥똥배 3213   2008-04-20 2008-04-21 07:20
 
95 C++ 데이터의 바이트 용량 임의로 정의할수 없나영 [1] A.미스릴 3059   2008-04-21 2008-04-21 07:18
int는 4바이트로 정해져 있는데 약간의 수만 있으면 되는 수도 있는데 괜히 많은 숫자를 사용해서 메모리를 많이 사용하는 건 아닐지 ㅡㅡ; 3바이트라던지 4비트라던지... 데이터의 바이트 사용량을 임의로 바꿀수 없나요  
94 문D라이브로 더블드래곤을 만들자(5) [6] file 똥똥배 3072   2008-04-21 2008-04-24 03:23
 
93 문D라이브로 더블드래곤을 만들자(6) [2] file 똥똥배 3114   2008-04-23 2008-04-25 05:01
 
92 문D라이브로 더블드래곤을 만들자(7) file 똥똥배 3480   2008-04-27 2008-04-28 04:22
 
91 문D라이브로 더블드래곤을 만들자(11) file 똥똥배 4647   2008-05-17 2008-05-17 20:24
 
90 #define에 대해 [1] A.미스릴 4061   2008-05-19 2008-05-19 18:57
#define을 너무 많이 쓰면 코드에 불안정화가 온다는데 사실인가여? 그러면 불안정화를 막으러면 어떻게 해야하나여 아니면 enum이나 const를 써야 하나...  
89 문D 질문 [5] A.미스릴 3847   2008-05-26 2008-06-12 18:55
1.글자, 문장을 화면상에 출력하는 방법 2.숫자를 스트링으로 형변환할떄 아스키 코드가 아니라 숫자가 옮겨가게 하는법 3.사각형, 원 등을 출력하는 방법(Rectangle 함수같은거 없나여)  
88 문D 질문 #2 [1] A.미스릴 8797   2008-06-01 2009-01-07 22:05
이거 도배하는거같은 마음이 드네여 ㅈㅅ 제가 대화창을 다뤄봤는데여 CTextDlg textdialog(50); CTextDlg * pt_textdialog(&textdialog); pt_textdialog->SetDlg(100, 100, 200, 200); pt_textdialog->SetColor(255,255,0); pt_textdialog->SetDlgBox("_d...  
87 문D라이브 2008년 5월 19일 버전 [2] 혼돈 3747   2008-06-02 2015-12-09 08:06
휴가루 웍휴2를 개발하면서 조금씩 수정 중이지만, 미스릴님의 요청이 있어서 올립니다. 대화창에 관련되서 완성되었다는 것과 흥크립트 부분이 많이 변했다는 것이 주요 변경점입니다. 대화창의 경우 기본은 대화창이 없는 상태로 MakeDlgBox를 사용하면 크기...  
86 씨언어 질문 (내일 시험 ㄷㄷ) [1] 쿠로쇼우 4332   2008-06-17 2008-06-17 22:10
1 121 12321 1234321 123454321 부탁 ㄷㄷ