안드로이드 게임 프로그래밍 [그래픽오브젝트]
안드로이드 게임 프로그래밍 [그래픽오브젝트] |
그림 하나를 그리려면 좌표와 비트맵은 물론이고 여러개의 멤버 변수를 선언해야 합니다. 그림 하나를 띄우는 어플같은 경우에는 관계가 없겠지만, 게임은 화면 하나에 여러개의 이미지를 그려줘야 합니다. 그럴때마다 멤버 변수를 추가하면서 작업하면 복잡해시고 시간도 오래 걸리게 되는데요. 이런 과정을 하나의 클래스로 만들어 놓으면 그려야 할 이미지가 많아져도 간결하게 처리할 수 있고, 나중에 다른 프로젝트에서도 이 클래스를 재사용 할 수 있습니다.
첫번째로 화면에 표시되는 대부분을 차지하는 GraphicObject 클래스를 만들도록 하겠습니다.
이 클래스에 포함되어야 할 멤버가 어떤것들이 있을까요? 먼저 비트맵을 표현하기 위해서 Bitmap클래스와 좌표값 x, y가 필요할 것입니다.
■ 지난 포스팅까지 만들었던 FrameWork 패키지에 클래스를 만들고, 비트맵과 좌표값을 변수로 선언하고 생성자에서 비트맵을 로드하고 좌표값을 '0'으로 초기화를 했습니다.
■ 다음으로 그림을 그려주는 메서드를 추가하겠습니다. 그림을 그리는 기능을 위해 Canvas.DrawBitmap메서드를 사용합니다.
■ 생성자를 호출해서 그림을 그리는 메서드인데요. 작동이 잘되나 확인을 해보겠습니다. 지금까지 만든 프레임워크에 이 클래스를 추가해서 구동이 잘 되는지 확인해 보겠습니다.
■ GameView 클래스로 가서 그래픽 오브젝트를 변수로 선언하고 생성자에서 이미지를 로드해서 onDraw()로 그려줬습니다.
■ 실행이 잘 되네요. 이 그림을 가지고 나중에 게임을 만들때 플레이어가 조작을 하면 이미지가 움직여야 하는데요. 즉, 위치가 변경이 되야 한다는 의미입니다. 그래서 마지막으로 그래픽 오브젝트 클래스에서 좌표를 변경해주는 메서드를 추가 하도록 하겠습니다.
■ 이렇게 해서 안드로이드 게임에서 이미지를 그려줄 클래스를 만들어 봤습니다. 다음 포스팅에서는 움직임을 표현하는 SpriteAnimation에 대해서 알아보도록 하겠습니다.