Xin chào các bạn đã tới với blog lập trình game andengine trên android

Bài hôm nay mình sẽ hướng dẫn các bạn thao tác tạo và bắt sự kiện nhấn vào một texture như : text , sprite, animation...
Giống như mình tạo 1 button bên app android và sử dụng button đó để dừng game , pause game, reset game , back game , music on/off ...

(Bài hôm nay mình quên không hiện chuột các bạn chú ý giúp mình nha)!






Hình ảnh trong bài 



Video hướng dẫn :(Like và G+ ủng hộ mình nha!)





Untitled 1 Full code : DOWNLOAD HERE


Code MainActivity.class

package com.example.andengine_music;


package com.example.action_event;

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.background.ColorBackground;
import org.anddev.andengine.entity.sprite.AnimatedSprite;
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.Texture;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.opengl.texture.region.TextureRegion;
import org.anddev.andengine.opengl.texture.region.TextureRegionFactory;
import org.anddev.andengine.opengl.texture.region.TiledTextureRegion;
import org.anddev.andengine.ui.activity.BaseGameActivity;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends BaseGameActivity {
 
 private static final int CAMERA_WIDTH = 480;
 private static final int CAMERA_HEIGHT = 800;
 
 private Texture textureEarth;
 private TextureRegion textureRegionEarth;
 

 private Texture mTextureControllEath;
 private TiledTextureRegion mTiledTextureRegionControllEath;
 
 private Camera mCamera;

 @Override
 public Engine onLoadEngine() {
  this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
  return new Engine(new EngineOptions(true, ScreenOrientation.PORTRAIT, 
    new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera));

 }

 @Override
 public void onLoadResources() {


  TextureRegionFactory.setAssetBasePath("gfx/");
   
   
   this.textureEarth = new Texture(256, 256, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
   this.textureRegionEarth = TextureRegionFactory.createFromAsset(this.textureEarth, this, "earth.png", 0, 0);
   this.mEngine.getTextureManager().loadTexture(this.textureEarth);
   
   this.mTextureControllEath= new Texture(512, 512,TextureOptions.BILINEAR_PREMULTIPLYALPHA); 
   this.mTiledTextureRegionControllEath = TextureRegionFactory.createTiledFromAsset(this.mTextureControllEath
     , this, "action_event.png", 0, 0,2,1);
   mEngine.getTextureManager().loadTexture(mTextureControllEath);
  
 }

 @Override
 public Scene onLoadScene() {
  this.mEngine.registerUpdateHandler(new FPSLogger());
  final Scene scene = new Scene();
  scene.setBackground(new ColorBackground(0, 0, 0));
  
  final Sprite  eath = new Sprite(200, 300, textureRegionEarth);
  eath.setScale(0.5f);
  scene.attachChild(eath);
  
  
  final AnimatedSprite Controll_Eath = new AnimatedSprite(30, CAMERA_HEIGHT-100,mTiledTextureRegionControllEath)
  {
  public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
    float pTouchAreaLocalX, float pTouchAreaLocalY) {
   if (pSceneTouchEvent.getAction() == TouchEvent.ACTION_DOWN) {
    
    this.setCurrentTileIndex(1, 0);
    Log.v("", "pTouchAreaLocalX"+pTouchAreaLocalX+"pTouchAreaLocalY = " +pTouchAreaLocalY);
    eath.setScale(1f);
    
   }
   else{
    this.setCurrentTileIndex(0, 0);
    eath.setScale(0.5f);
   }
   return true;
  };
 };
 
 scene.registerTouchArea(Controll_Eath);
 scene.attachChild(Controll_Eath);
  
  
  
  return scene;
 }

 @Override
 public void onLoadComplete() {
  // TODO Auto-generated method stub
  
 }

 

}


0 comments:

Post a Comment

http://knlaptrinhandroid.blogspot.com/

 
Top