package com.example.spriteexample;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.options.EngineOptions;
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.scene.Scene.IOnSceneTouchListener;
import org.anddev.andengine.entity.scene.background.ColorBackground;
import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.entity.util.FPSLogger;
import org.anddev.andengine.input.touch.TouchEvent;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas;
import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory;
import org.anddev.andengine.opengl.texture.region.TextureRegion;
import org.anddev.andengine.ui.activity.BaseGameActivity;
public class MainActivity extends BaseGameActivity implements
IOnSceneTouchListener {
final static int camera_width=720;
final static int camera_height = 480;
public Camera camera;
public Engine engine;
public BitmapTextureAtlas bitmaptextureatlas;
TextureRegion face_box;
TextureRegion box_face;
Sprite face;
Sprite box;
float x,y;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public Engine onLoadEngine() {
camera = new Camera (0,0, camera_width, camera_height);
// TODO Auto-generated method stub
return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(camera_width, camera_height), camera));
}
@Override
public void onLoadResources() {
bitmaptextureatlas = new BitmapTextureAtlas(64, 32, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
face_box = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.bitmaptextureatlas, this, "face_box.png", 0, 0);
box_face = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.bitmaptextureatlas, this, "box.png", 32, 0);
this.mEngine.getTextureManager().loadTexture(this.bitmaptextureatlas);
// TODO Auto-generated method stub
}
@Override
public Scene onLoadScene() {
Scene scene = new Scene();
scene.setBackground(new ColorBackground(0.1f,0.5f,0.6f));
final int centerX = (camera_width - this.face_box.getWidth()) / 2-50;
final int centerY = (camera_height - this.face_box.getHeight()) / 2;
final int centerX1 = (camera_width - this.box_face.getWidth()) / 2+50;
final int centerY1 = (camera_height - this.box_face.getHeight()) / 2;
face = new Sprite(centerX,centerY,this.face_box);
box = new Sprite(centerX1,centerY1,this.box_face);
scene.attachChild(face);
scene.attachChild(box);
scene.setOnSceneTouchListener(this);
// TODO Auto-generated method stub
return scene;
}
@Override
public void onLoadComplete() {
// TODO Auto-generated method stub
}
@Override
public boolean onSceneTouchEvent(final Scene pScene, TouchEvent pSceneTouchEvent)
{
// TODO Auto-generated method stub
if(pSceneTouchEvent.isActionDown())
{
x = pSceneTouchEvent.getX();
y = pSceneTouchEvent.getY();
this.runOnUpdateThread(new Runnable()
{
public void run()
{
if(face.contains(x, y))
{
pScene.detachChild(face);
}
else if(box.contains(x, y))
{
pScene.detachChild(box);
}
}
});
}
return true;
}
}