Anda di halaman 1dari 8

PEMROGRAMAN GAME MOBI LE

TUGAS IV
MOVI NG SPRI TE





I GEDE ANGGA SURYA NUGRAHA
1104505014








JURUSAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2014

TUGAS IV

1. Tahapan Membuat Sprite Moving
Berikut merupakan tahapan-tahapan dari tugas keempat ini yaitu membuat Sprite Moving
pada aplikasi Eclipse.
A. Tugas keempat kali ini yaitu membuat Sprite Moving pada aplikasi Eclipse. Tahap
pertama yang dilakukan yaitu proses pembuatan aplikasi android baru. Pada Application
Name isi dengan Tugassprite sebagai nama projek yang akan dibuat. Kemudian beri
nama activity dengan MainActivity. Setelah itu klik finish.
B. Setelah klik finish maka MainActivity.java yang telah dibuat akan muncul pada Package
Explore seperti gambar dibawah.

Gambar 1. Package Explorer

Selanjutnya akan muncul tampilan dibagian kiri project yang telah dibuat. Pada Main
Acitivity selanjutnya kita mengetik koding di main activity sebagai berikut:
package angga.andenginegerak;
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.sprite.Sprite;
import org.andengine.entity.util.FPSLogger;
import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas;
import
org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFact
ory;
import org.andengine.opengl.texture.region.TextureRegion;
import org.andengine.ui.activity.SimpleBaseGameActivity;



import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;

public class MainActivity extends SimpleBaseGameActivity {

public static final int CAMERA_WIDTH = 720;
public static final int CAMERA_HEIGHT = 480;

private BitmapTextureAtlas ourAtlas;
private TextureRegion ourCircle;

private BitmapTextureAtlas back;
private TextureRegion backGro;

private Circle circle;

private Sprite bg;
@Override
public EngineOptions onCreateEngineOptions() {
// TODO Auto-generated method stub
final Camera camera = new Camera(0, 0, CAMERA_WIDTH,
CAMERA_HEIGHT);
return new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED,
new RatioResolutionPolicy(CAMERA_WIDTH,CAMERA_HEIGHT), camera);
}

@Override
protected void onCreateResources() {
// TODO Auto-generated method stub
ourAtlas = new
BitmapTextureAtlas(this.getTextureManager(),256,256);
ourCircle =
BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.ourAtlas, this,
"icon.png",0,0);
mEngine.getTextureManager().loadTexture(ourAtlas);

back = new BitmapTextureAtlas(this.getTextureManager(),1024,
1024);
backGro =
BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.back, this,
"back.png", 0, 0);
mEngine.getTextureManager().loadTexture(back);

}

@Override
protected Scene onCreateScene() {
// TODO Auto-generated method stub
this.mEngine.registerUpdateHandler(new FPSLogger());
//create a new scene
final Scene mScene = new Scene();

bg = new Sprite(0, 0, backGro,
this.getVertexBufferObjectManager());
mScene.attachChild(bg);

//set background of our scene to white
circle = new Circle(150, 150, ourCircle,
this.getVertexBufferObjectManager());
//mScene.setBackground(new Background(1.0f,1.0f,1.0f));

mScene.attachChild(circle);
return mScene;
}
}
Kode Program 1. Main Activity


Kode Program 1 MainActivity, disana ada fungsi menentukan ukuran CAMERA yang
berguna untuk ukuran tampilan. Gambar background dan gambar yang bergerak ditempatkan di
MainActivity.
Selanjutnya akan diketik kode program pada class baru yang dibuat yakni class
circle.java. Kode program class ini terhubung dengan MainActivity.java.
package angga.andenginegerak;
import org.andengine.entity.sprite.Sprite;
import org.andengine.opengl.texture.region.ITextureRegion;
import org.andengine.opengl.vbo.VertexBufferObjectManager;

public class Circle extends Sprite {
boolean moveLeft = false;

public Circle(float pX, float pY, ITextureRegion pTextureRegion,
VertexBufferObjectManager pVertexBufferObjectManager) {
super(pX, pY, pTextureRegion, pVertexBufferObjectManager);
// TODO Auto-generated constructor stub
}
@Override
protected void onManagedUpdate(final float pSecondsElapsed){
super.onManagedUpdate(pSecondsElapsed);

if(!moveLeft){
this.mX += 6;
}
else{
this.mX -= 6;
}

if(this.mX>=MainActivity.CAMERA_WIDTH-this.getWidth()){
moveLeft = true;
}
else if(this.mX<=0){
moveLeft = false;
}
}
}
Kode Program 2. Class Circle.java

Class circle.java ini berfungsi untuk membuat gambar bergerak pada layar emulator
nantinya. Gambar tersebut akan dibuat bergerak.
Run program pada emulator dan hasilnya sebagai berikut:

Gambar 2. Tampilan Program di Emulator

Selanjutnya gerakan ini akan bergerak, seperti gambar berikut:

Gambar 3. Tampilan Gambar Setelah Bergerak
Gambar terlihat berpindah, dari gambar 2 diposisi atas dan gambar 3 posisinya dibawah.