andengine 的几个入门例子(sprite remove example)

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;
	}
}

  

posted @ 2012-07-23 22:18  黑影第13号  阅读(1404)  评论(0编辑  收藏  举报