예전 자유 게시판
Java와 C를 이용한 프로안드로이드 게임 개발
김영원 2012-04-03 12:04
본 책을 보는중 SpaceBlaster 코드를 공부하는 중인데요
책이나 소스코드를 다운받아서 봐도
수식에 대한 주석들이 없어서
설명을 좀 부탁드리고 싶습니다
Game Code 를 보면
// Meteor variables
Bitmap meteor;
int maxmet, metcount, mtotal, mrenew, metmy;
int[] metx;
int[] mety;
int[] metf;
boolean[] metr;
final int sxmet = 80, symet = 84;
// Global Variables
int distance = 0, maxdist = 2000;
int slevel, blevel, difflev, bosslevel;
int smax, bmax;
int scur, bcur, renew, rcnt = 0, sstretch, txtalign = 100;
long score;
이런 항목들이 있는데 아래 수식만을봐서는 이해가 잘 가질 않네요
꼭 부탁드립니다
류광 2012-04-04 18:04
소행성들이 그냥 위에서 아래로 직선 운동을 한다는 점에 주목하면 그리 어렵지 않게 이해하실 수 있을 것입니다. 이동 부분은 ShowMeteors() 가 담당하는데, 그냥 소행성의 y 좌표를 일정한 크기(metmy, 아마도 meteor move y의 약자인 듯)로 증가하는 것일 뿐입니다. 소행성이 화면 하단에 도달하면 삭제합니다.
그리고 소행성과 우주선의 충돌은 processCollisions()가 처리하는데 그냥 상자(직사각형) 대 상자 비교이고요...
어쨌든 단순한 게임이니, 게임이 돌아가는 방식과 비교하면서 속성들과 메서드들을 살펴보면 어렵지 않을 것입니다.
한 가지 제안이라면... 현재는 소행성들의 속성과 행동이 metx, mety 등의 개별 배열과 SpaceBlasterGame 클래스의 여러 메서드들에 흩어져 있는데, 그것들을 이를테면 Meteor라는 클래스로 캡슐화해보시면 공부에 아주 도움이 될 것입니다.