3 (1)
Post on 19-Jan-2016
12 Views
Preview:
DESCRIPTION
TRANSCRIPT
PEMROGRAMAN GAME MOBILE
MEMBUAT AND ENGINE APLICATION
Oleh:
Putu Eka Suryadana (1104505108)
JURUSAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2014
Gambar 1.1 Create New Project
Pada gambar ini kita membuat project baru dan menambahkan library AndEngine beserta package lain yang dibutuhkan kedalam project kita, kita juga menentukan target API dari project yang akan kita buat.
Gambar 1.2 Create new class
Setelah kita membuat new project kita buat class atau activity dari project kita. Pada gambar diatas merupakan gambar menu setelah membuat class dimana kita menamai class ini dengan MovingBallExample dan dibawahnya kita tambahkan atau extend superclass dari Andengine dengan menambahkan SipmpleBaseActivity setelah itu finish.
Gambar 1.3 Memilih SimpleBaseGameActivity
package ca.lenpayne.sprite;import org.andengine.engine.camera.Camera;import org.andengine.engine.options.EngineOptions;import org.andengine.engine.options.ScreenOrientation;import org.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;import org.andengine.entity.scene.Scene;import org.andengine.entity.scene.background.Background;import org.andengine.entity.sprite.Sprite;import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas;import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory;import org.andengine.opengl.texture.region.ITextureRegion;import org.andengine.ui.activity.BaseGameActivity;
public class GameActivity extends BaseGameActivity {
Scene scene;protected static final int CAMERA_WIDTH = 400;
protected static final int CAMERA_HEIGHT = 500;BitmapTextureAtlas playerTexture;ITextureRegion playerTextureRegion;@Overridepublic EngineOptions onCreateEngineOptions() {
// TODO Auto-generated method stubCamera mCamera = new Camera(0,0, CAMERA_WIDTH, CAMERA_HEIGHT);EngineOptions options = new EngineOptions(true,
ScreenOrientation.LANDSCAPE_FIXED ,new RatioResolutionPolicy(CAMERA_WIDTH,
CAMERA_HEIGHT), mCamera);return options;
}
@Overridepublic void onCreateResources(
OnCreateResourcesCallback pOnCreateResourcesCallback)throws Exception {
// TODO Auto-generated method stubloadgfx();
}
private void loadgfx() {// TODO Auto-generated method stubBitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");playerTexture = new BitmapTextureAtlas(getTextureManager(),
150,150);playerTextureRegion = BitmapTextureAtlasTextureRegionFactory.
createFromAsset(playerTexture,this, "cupacup.png" ,0,0);
playerTexture.load();}
@Overridepublic void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback)
throws Exception {// TODO Auto-generated method stubthis .scene = new Scene();this .scene .setBackground(new Background(0,140,10));pOnCreateSceneCallback.onCreateSceneFinished(this .scene );
}
@Overridepublic void onPopulateScene(Scene pScene,
OnPopulateSceneCallback pOnPopulateSceneCallback) throws Exception {
// TODO Auto-generated method stub
Sprite sPlayer = new Sprite(CAMERA_WIDTH/2, CAMERA_HEIGHT/2,playerTextureRegion, this.mEngine.getVertexBufferObjectManager());
sPlayer.setRotation(45.0f);this .scene .attachChild(sPlayer);pOnPopulateSceneCallback.onPopulateSceneFinished();
}
}
Kode Program 1.1 GameActivity.java
Pada kode program diatas merupakan main activity dari project menampilkan sprite yang saya buat.
package ca.lenpayne.sprite;import org.andengine.engine.camera.Camera;import org.andengine.engine.options.EngineOptions;import org.andengine.engine.options.ScreenOrientation;import org.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;import org.andengine.entity.scene.Scene;import org.andengine.entity.scene.background.Background;import org.andengine.entity.sprite.Sprite;import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas;import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory;import org.andengine.opengl.texture.region.ITextureRegion;import org.andengine.ui.activity.BaseGameActivity;
Kode program 1.2 Import package GameActivity.java
Berikut ini merupakan kode program yang berfungsi untuk mengimport package package yang terdapat didalam MainActivity.java dari AndEngine
public class GameActivity extends BaseGameActivity {
Scene scene;protected static final int CAMERA_WIDTH = 400;protected static final int CAMERA_HEIGHT = 500;BitmapTextureAtlas playerTexture;ITextureRegion playerTextureRegion;
Kode Program 1.3 Deklarasi MainActivity.java
Berikut ini merupakan deklarasi class yang kita buat yaitu GameActivity.java dimana kita mengambil atau mengextend super class BaseGameActivity dan selanjutnya membuat layar dimana panjang dan tinggi layar ditentukan dan tidak dapat diubah dengan panjang 400 dan lebar 500 dan membangun layar dengan BitmapTextureAtlas.
public EngineOptions onCreateEngineOptions() {
Camera mCamera = new Camera(0,0, CAMERA_WIDTH, CAMERA_HEIGHT);EngineOptions options = new EngineOptions(true,
ScreenOrientation.LANDSCAPE_FIXED ,new RatioResolutionPolicy(CAMERA_WIDTH,
CAMERA_HEIGHT), mCamera);return options;
}
Kode Program 1.4 CreateEngineOption
Berikut ini merupakan kode program mendeklarasikan EngineOption dan membuat method yang terdapat pada AndEngine dimana kita membuat Tampilan atau Camera dengan panjang dan tinggi dari layar yang sudah kita buat sebelumnya .membuat EngineOption yang baru dan menyeting layar menjadi Landscape pada EngineOption .
@Overridepublic void onCreateResources(
OnCreateResourcesCallback pOnCreateResourcesCallback)throws Exception {
loadgfx();}
private void loadgfx() {// TODO Auto-generated method stubBitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");playerTexture = new BitmapTextureAtlas(getTextureManager(),
150,150);playerTextureRegion = BitmapTextureAtlasTextureRegionFactory.
createFromAsset(playerTexture,this, "suyap.png" ,0,0);
playerTexture.load();}
Kode Program 1.5 Create Resource
Kode Program diatas berfungsi untuk mengambil sumber berupa gambar atau suara yang dibutuhkan pada project yang akan kita buat dimana mendeklarasikan OnCreateResource OnCreateResource akan dipanggil berulang ulang dan mengambil loadgfx dimana loadgfx diambil dari asset pada folder gfx dan Playertexture di ambil dari folder gfx dengan nama suyap.png dan PlayerTexture di ambil.
public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback)throws Exception {
this .scene = new Scene();this .scene .setBackground(new Background(0,140,10));pOnCreateSceneCallback.onCreateSceneFinished(this .scene );
}
Kode Program 1.6 CreateScene
Kode Program diatas berfungsi untuk membuat scene dimana OnCrreateSceneCallBack mendeklarasikan OnCreateSceneCallBack untuk memanggil scene yang sudah dibuat sebelumnya secara berulang ulang dan selanjutnya kita membuat sebuah constructor diaman scene adalah scene baru dan scene yang baru tersebut kita membuat warna yang berwarna hitam dan scene yang baru dipanggil kembali.
public void onPopulateScene(Scene pScene,OnPopulateSceneCallback pOnPopulateSceneCallback) throws
Exception {
Sprite sPlayer = new Sprite(CAMERA_WIDTH/2, CAMERA_HEIGHT/2,playerTextureRegion, this.mEngine.getVertexBufferObjectManager());
sPlayer.setRotation(45.0f);
this .scene .attachChild(sPlayer);pOnPopulateSceneCallback.onPopulateSceneFinished();
}
Kode Program 1.7 OnPopulateScene
Kode diatas berfungsi untuk membuat OnPopulateScene dimana OnPopulateScene berguna untuk menempatkan Sprite yang sudah kita buat sebelumnya beserta keadaan sprite tersebut. Pada method Sprite sPlayer dibuatSprite baru dengan posisi setengah dari panjang dan tinggi layar dan sprite tersebut di miringkan dengan SetRotation sebesar 45 derajat.
Gambar 1.4 Hasil Program Sprite pada AVD
top related