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

  

转载于:https://www.cnblogs.com/heiying/archive/2012/07/23/2605664.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值