Xin chào các bạn , ở bài trước mình đã hướng dẫn các bạn cách tạo chuyển động cho nhân vậy - con vịt đang bay . Vậy muốn tạo ra một nhân vật di chuyển về 4 hướng thì có 4 cách nhìn khác nhau thì làm như thế nào ?
Đầu tiên để tạo được chuyển động như vậy bạn cần có 1 pic ảnh png kiểu như thế này
ảnh gồm có 12 hình . 3 cột và 4 hàng .
Vậy lấy ảnh đó ở đâu? mình có tìm ra một trang rất hay của người nhật bản cho phép tạo hình nhân vật như vậy các bạn vào trang tạo sprite online : tại đây
Video hướng dẫn : (Các bạn like và G+ ủng hộ mình nha)
Code :
package com.example.animition;
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.util.FPSLogger;
import org.anddev.andengine.opengl.texture.Texture;
import org.anddev.andengine.opengl.texture.TextureOptions;
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.view.Menu;
public class MainActivity extends BaseGameActivity{
private static final int CAMERA_WIDTH = 480;
private static final int CAMERA_HEIGHT = 800;
private Texture mTextureVitBay;
private TiledTextureRegion mTextureRegionVitBay;
@Override
public Engine onLoadEngine() {
final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
final EngineOptions engineOptions = new EngineOptions(true, ScreenOrientation.PORTRAIT, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
engineOptions.getTouchOptions().setRunOnUpdateThread(true);
return new Engine(engineOptions);
}
@Override
public void onLoadResources() {
TextureRegionFactory.setAssetBasePath("gfx/");
// load con vịt
this.mTextureVitBay = new Texture(256, 256, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
this.mTextureRegionVitBay = TextureRegionFactory.createTiledFromAsset(this.mTextureVitBay, this, "chuyendong.png",0, 0,3, 4);
this.mEngine.getTextureManager().loadTexture(this.mTextureVitBay);
}
@Override
public Scene onLoadScene() {
this.mEngine.registerUpdateHandler(new FPSLogger());
final Scene scene = new Scene(2);
scene.setBackground(new ColorBackground(0.5f, 0, 1));
final AnimatedSprite animatedSprite = new AnimatedSprite(200, 500, mTextureRegionVitBay);
scene.attachChild(animatedSprite);
animatedSprite.setScale(3);
animatedSprite.animate(new long[] { 200, 200, 200 ,200, 200, 200 ,200, 200 ,200 ,200, 200,200},0,11, true);
return scene;
}
@Override
public void onLoadComplete() {
// TODO Auto-generated method stub
}
}
Mọi thắc mắc xin vui lòng liên hệ : svk10acntt@gmail.com

0 comments:
Post a Comment
http://knlaptrinhandroid.blogspot.com/