AndEngine 2강 - 샘플 프로젝트 생성 (by wono77)
2강 소스 파일 첨부
이제 앞서 생성한 andengine.jar를 사용해서 간단한 AndEnging의 샘플소스를 만들어 보겠습니다. Android project를 생성합니다.
Build Target 은 진저브레드(2.3.3)로 선택합니다.
사용할 Application Name, Package Name 을 정한 후 Finish 버튼을 클릭합니다.
libs 폴더에 앞서 생성해둔 andengine.jar 파일을 해당 경로에 복사하여 넣은 다음 새로고침(F5)합니다. jar 파일 생성은 이전 글을 참고한다. jar가 추가된 상태에서 빌드가 제대로 되는지 테스트 합니다. jar만 추가한 후, 실행이 제대로 되어야 라이브러리가 제대로 추가된 것입니다.
이제 간단한 AndEngine의 틀만 얹어 보겠습니다. 소스를 다음과 같이 수정합니다. 다음 소스를 복사해 넣은 후, ctrl-shift-f(문서 정렬), ctrl-shift-o(프로젝트 자동 import) 를 누르면 빨간색 에러 표시가 없어집니다.
package com.example.aesample;
import org.andengine.engine.options.EngineOptions;
import org.andengine.entity.scene.Scene;
import org.andengine.ui.activity.SimpleBaseGameActivity;
public class MainActivity extends SimpleBaseGameActivity {
@Override
public EngineOptions onCreateEngineOptions() {
return null;
}
@Override
protected void onCreateResources() {
}
@Override
protected Scene onCreateScene() {
return null;
}
}
이때 @Override 등에 컴파일 오류 메시지가 뜬다면, Propertis -> Java Compiler 에서 JDK 버전을 1.6 이상으로 잡아 줍니다. 이 상태에서 빌드가 잘 되어야 합니다. 빌드는 되고, 핸드폰에서 실행했을때, 오류가 뜬다면 걱정하지 마세요, 제대로 된 것이니까요. 이 소스의 상태에서 실행하면 앱이 죽습니다만, 아직 구현을 하지 않았으므로 당연한 겁니다.
이제 소스를 다음과 같이 변경한 후에 실행해 봅니다. 빨간색 에러가 나타나면 앞서 한 것과 마찬가지로 ctrl-shift-o를 눌러 AndEngine의 라이브러리를 import 합니다. 도중에 인코딩 변환을 물어볼 수 도 있는데 그럴때는 "save as utf8" 을 선택합니다.
ppapackage com.example.aesample;
import org.andengine.engine.camera.Camera;
import org.andengine.engine.options.EngineOptions;
import org.andengine.engine.options.ScreenOrientation;
import org.andengine.engine.options.resolutionpolicy.FillResolutionPolicy;
import org.andengine.entity.scene.Scene;
import org.andengine.entity.scene.background.Background;
import org.andengine.ui.activity.SimpleBaseGameActivity;
public class MainActivity extends SimpleBaseGameActivity
{
// 카메라 필드를 생성합니다.
// 가로와 세로 2개의 카메라 변수를 선언했습니다.
private Camera camera;
private static final int CAMERA_WIDTH = 720;
private static final int CAMERA_HEIGHT = 480;
// onCreateEngineOptions() 안에서는 Camera object를 초기화하고, EngineOptions을 생성합니다.
// 소스를 보시면 Camera와 EngineOptions을 생성했는데,
// full screen을 가능하게 했고, landscape orientation을 고정했습니다.
// 그리고, FillResolutionPolicy를 정의했습니다.
// 엔진은 전체로 해상도를 가득 채울텐데, 가끔 화면에서 어긋날 수 있으므로 주의해야 합니다.
@Override
public EngineOptions onCreateEngineOptions()
{
camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
EngineOptions engineOptions = new EngineOptions(true,
ScreenOrientation.LANDSCAPE_FIXED, new FillResolutionPolicy(),
camera);
return engineOptions;
}
@Override
protected void onCreateResources()
{
}
// onCreateScene()에서는 화면에 관련된 scene object를 초기화 합니다.
// Scene이란 스프라이트와 같은 새로운 객체를 덧붙일수 있는 객체(Entity)입니다.
// 배경 화면은 파랑(blue)로 셋팅하였습니다.
@Override
protected Scene onCreateScene()
{
Scene scene = new Scene();
scene.setBackground(new Background(0.09804f, 0.6274f, 0.8784f));
return scene;
}
}
아래와 같이 실행시 핸드폰에 푸른색 배경화면이 생성되면 정상적으로 동작한 것입니다.
* [ 블랙독의 "AndEngine으로 배우는 안드로이드 게임 프로그래밍"
- 나도 이제 안드로이드 게임개발자!! 강좌 리스트 ]
AndEngine 6강 - 충돌 구현 : http://blog.naver.com/wono77/140176342020
AndEngine 5강 - 점프 구현 : http://blog.naver.com/wono77/140174350342
AndEngine 4강 - 터치, 이미지 출력/해제, 폰트 변경 : http://blog.naver.com/wono77/140173160582
AndEngine 3강 - Examples(예제) 실행하기 : http://blog.naver.com/wono77/140172587747
AndEngine 2강 - 샘플 프로젝트 생성 : http://blog.naver.com/wono77/140172586342
AndEngine 1강 - andengine.jar 생성하기: http://blog.naver.com/wono77/140172582693
안드로이드 게임 sdk 소개 : http://blog.naver.com/wono77/140172218034
* 안드엔진 까페( http://andengine.co.kr)로 놀러 오세요~~~!!
참고 : http://saksin.tistory.com/m/post/view/id/904
추가 참고 사이트: https://sites.google.com/site/matimdevelopment/-hello-world---basic-example
블랙독의 "AndEngine 강좌"는
데브안드로이 까페(http://cafe.naver.com/devandroi)
AndEngine 까페(http://cafe.naver.com/andenginekorea)
에서 연재되고 있습니다.
좋은 강좌 감사합니다.^^