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/