PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2009/08/02 22:32:47
Name 이한승
File #1 winmain.zip (3.2 KB), Download : 11
Subject API 잘 아시는 분들 계신가요????
제가 API로 게임 만드는 중인데 막혀서 질문을 드립니다.
간단히 설명 하면 [키보드 X키를 눌러 물체를 공격해서 물체를 파괴시켜서 사라지게 하는 것] 입니다.
말로는 간단하죠??? 근데 어떻게 해야 할지 도통 모르겠네요...

조금 자세히 설명하면, 캐릭터가 물체에 가까이 가서 키보드 X키를 누르면 공격 모션이 취해지고 물체를 공격해서 파괴시켜 사라지게 하는 것입니다. 물체를 2방 정도 공격하면 파괴되어 사라지게 하려고 합니다. 아마 공격시 물체위에 흰색 비트맵 이미지를 띄우면 될 것 같기도 한데요....

예를들어 킹오브(KOF)라는 게임 처럼 발키가 D일  때, D키를 누르면 발을 휘둘루는 모션(동작)이 뜨겠죠? 캐릭터(or 물체)앞 가까이 가서
D키를 누르면 발이 휘둘러지면서 캐릭터를 공격하게 되겠죠? 대충 이런 것입니다.

아래는 제가 RECT 구조체로 대충 적은 것입니다. 충돌 체크도 했는데, if문안에 뭘 적어야 할지 몰라 못적었습니다.
역시 초보에겐 정말 어렵네요...

API로 해야 됩니다.
답변 부탁드립니다.(__)꾸벅 winmain 파일도 첨부합니다.

void Attack()
{
RECT rectB; //물체
rectB.left=500; //최좌측 지점의 x좌표
rectB.top=450; //최상단 지점의 y좌표
rectB.right=587; //최우측 지점의 x좌표
rectB.bottom=536; //최하단 지점의 y좌표


RECT rectA; //공격
rectA.left=116; //최좌측 지점의 x좌표
rectA.top=440; //최상단 지점의 y좌표
rectA.right=260; //최우측 지점의 x좌표
rectA.bottom=514; //최하단 지점의 y좌표


if(rectB.left<rectA.right && rectA.left<rectB.right)
{
}
if(rectB.top<rectA.bottom && rectA.top<rectB.bottom)
{
}
}

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/08/02 22:47
수정 아이콘
https://pgr21.com/zboard4/zboard.php?id=bug&sn1=on&sn=on&ss=off&sc=off&keyword=%C0%CC%C7%D1%BD%C2

본인의 질문에 답변들이 달렸는데도.. 결국 같은 질문이 반복된 것을 보니..;
아무래도 해결을 못 하신듯 하군요;

이전에 하셨던 질문에 대한 첫답변인 http://masque.textcube.com/19 위의 곳에 원하시는 답이 있습니다.
아무래도 이곳에 소스를 직접 짜주실 분이 계시진 않을듯 하여.. 단순 링크가 아닌 정확한 좌표로 답변 드렸습니다.
그럼 이만;
neogeese
09/08/02 23:15
수정 아이콘
API로 만들어 본적은 없어서 소스를 보지는 않았습니다만 이전 질문들에 대해서 쭉 보다 보니 가장 기본적인 구성부터 막히시는거 같네요.

일단 두 사각형 충돌 체크 부분을 다시 만들어야 하지만 이건 좀 검색 해보시면 되고요 if안에 뭘 적어야 되는지 모르겠다고 하시지만
이미 알고 계신겁니다. 충돌이 생겼다는건 타격을 했다는 거죠. 타격이 되면 어떻게 해야 될까요? 맞은 물체는 사라져야 됩니다. 사라지는 애니메이션으로 상태를 바꾸고 애니메이션이 끝나면 더이상 화면에 나오지 않게 없애야 겠죠.

흰색 비트맵 이미지로 가리는게 아닙니다. 이건 제대로 된 구성 방법이 될수 없어요.

일단 주인공 캐릭과 화면에 그려지는 물체들은 다 클래스로 객체 구성을 하세요. 화면에 나오는 물체들의 수는 가변적이 될테니
벡터나 링크드리스트로 구성 하시면 됩니다. 게임의 메인 타이머에서 매 프레임 마다 물체들의 어레이를 쭉 체크 해서 화면에 그려줄지 아니면 파괴 되서 쓸모가 없어지면 메모리에서 삭제 할지 처리 하시면 됩니다.

그러면 저 if문 안에서 해야 할일이 보이시죠? 물체들의 상태를 파괴되는 애니메이션으로 바꾸시기만 하면 메인 타이머에서 애니메이션을 화면에 그릴테고 애니메이션이 끝나면 배열에서 삭제 하시면 됩니다.

참고 삼아 말씀 드리면 제가 말씀 드린 대로 무조건 구현 하셔야만 한다는건 아닙니다만 가장 쉽게 접근 할수 있을거 같아서 적어 봤습니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
60996 국회에서 싸움... [7] 구하라1505 09/08/02 1505
60995 K리그에 관련 된 카페 아시는분 ~? [2] Bikini1999 09/08/02 1999
60994 번호이동 질문입니다. LG텔레콤 [2] Whut!1904 09/08/02 1904
60993 API 잘 아시는 분들 계신가요???? [2] 이한승2254 09/08/02 2254
60992 네이버 실시간 검색어 1위에 천존협객전이 올라와있는 이유가 무엇인가요? [3] 테페리안2073 09/08/02 2073
60991 외국은 원격수업이 어느정도로 발달되어 있나요? [2] 빛속의어둠1586 09/08/02 1586
60989 mp3 다운로드 할수있는곳 추천해주세요 가격도.. [5] 한듣보2109 09/08/02 2109
60986 듣기 좋은 팝송좀 부탁드립니다^^ [10] 한상빈2709 09/08/02 2709
60985 프린트건 마우스건 드라이버가 전혀 안 잡힙니다. [4] Demon Hunter1503 09/08/02 1503
60983 F200 EXR을 직접보고 싶어서 전자랜드에 갔더니... [2] 호기심남2102 09/08/02 2102
60982 온겜, 엠겜의 해설자들에 대해 [22] XEEN1868 09/08/02 1868
60981 영어 문장에 관련된 질문 하나만 하겠습니다(문법) [8] 음..1507 09/08/02 1507
60980 2월부터 볼만한 스타vod추천해주세요 [2] worcs2109 09/08/02 2109
60979 PMP 중고 거래 사기당한거 같습니다. [9] 본좌2294 09/08/02 2294
60978 스타크 컴터 인공지능 해보신분.. [4] 옥희2142 09/08/02 2142
60977 어이없는 질문이지만,,,cpa와 9급공무원시험을 비교한다면,, [13] Flyagain6497 09/08/02 6497
60976 게임 접으면 뭐하고 시간 보내면 좋을까요 [10] 멜로2862 09/08/02 2862
60975 한국의 유교적 잔재가 민주주의 원칙에 위배되는지 궁금합니다. [25] Inocent2243 09/08/02 2243
60974 워3카오스채널과 스타팀플채널에 대한 질문입니다 [8] 다레니안2142 09/08/02 2142
60973 디카 살려고 하는데요.. [1] 애플보요1566 09/08/02 1566
60971 포모스에서 맵전적검색하는거요.. [3] 로즈마리2117 09/08/02 2117
60970 XPEED 혜택이 뭐가 있나요? [3] Kaga1960 09/08/02 1960
60969 mlb모자를 구입했다가 바꾸려고 하는데요 [7] 무쇠다리4026 09/08/02 4026
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로