안드로이드 어플 만들기
안드로이드 어플 만들기 |
▣슈팅게임 만들기 2
■지난번에는 플레이어 클래스를 제작했었는데요. 이번에는 배경을 만들어 보겠습니다.
■ 현재 바탕이 되는 배경화면은 렌더링할때 기본으로 깔리는 검은색인데요. 이것을 배경답게 만들어 보도록 하겠습니다. 이미지를 하나 준비하겠습니다. 인터넷에서 인공사진으로 준비했구요.
사이즈는 320X2000 이고. 파일이름은 background0으로 했습니다.
■ BackGround 클래스를 만들겠습니다. 이미지 처리를 위해서 프레임워크의 GraphicObject를 상속 받습니다.
■ 클래스를 만들었으니 GameState에서 객체를 생성하고 그리도록 하겠습니다.
■ 이미지가 제대로 적용이 되는지 확인해 보겠습니다.
■ 배경이 추가가 됐습니다. 이제 이 배경을 스크롤을 시켜보겠습니다. 보통 슈팅게임에서는 배경이미지를 위에서 아래쪾으로 움직이게 해서 캐릭터가 움직이는 느낌을 주게 되는데요. 플레이어가 계속해서 이동하는 느낌을 주기 위해서는 배경 이미지를 지속적으로 Y값을 증가시켜서 그려야 합니다. 먼저 그림의 초기 시작 지점을 설정하고, Y값을 증가하면서 움직이는 느낌을 주는 메서드를 작성 합니다.
■ 이제는 GameState로 이동해서 BackGround의 Update메서드를 실행하는 코드를 추가해줍니다.
■ AVD에서 실행을 해보겠습니다.
■ 하지만 스크롤이 잘 되다가 길이를 초과하면 다시 어두운 화면이 나오게 됩니다. 그런 상황을 방지하기 위해서는 무한 스크롤을 시켜주거나 길이를 초과하면 더이상 스크롤을 하지 않는 스탑 스크롤을 해주면 되는데요. 여기서는 스탑 스크롤 방식을 사용하겠습니다.
■ 백그라운드 클래스에서 다음과 같이 추가를 해줍니다.
■ 다음으로 시차 스크롤링을 해보도록 하겠습니다. 이 방법은 물체와 카메라의 거리에 따라 물체의 이동하는 속도가 달라 보이는 효과를 이용한 3차원 배경을 흉내내는 방법인데요. 다음과 같이 약간 투명한 구름 이미지를 하나 준비해서 작업해보겠습니다.
■ 사이즈는 똑같이 320X2000으로 했습니다.
■ 멤버 변수 background1을 추가하고 생성자에서 백그라운드의 이미지의 비트맵 정보를 넘겨줍니다. 다음으로 업데이트 메서드에서 추가 배경이미지를 처리하고 Draw메서드를 재정의 해서 그림을 표시합니다. 샐행을 해보겠습니다.
■ 이렇게 해서 플레이어와 배경까지 만들어 봤습니다. 다음 포스팅에 이어서 계속 할게요.