예전 자유 게시판

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라는 클래스로 캡슐화해보시면 공부에 아주 도움이 될 것입니다.