15
2015
12

(二)hEngine—序列帧动画HSpriteSheet

安卓版Canvas渲染引擎——hEngine使用,使用HSpriteSheet创建序列帧动画。

创建HSpriteSheet。

HSpriteSheet需要两个参数,第一个参数是一张位图,使用的是安卓自带的Bitmap对象。

第二个参数是json格式数据,数据结构参考createjs中的SpriteSheet


protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        //初始化引擎和stage
        HEngine hengine=new HEngine(this);
        setContentView(hengine);
        HStage stage=hengine.stage;
        stage.frameRate=30;
       
        //帧动画HSpriteSheet
        Bitmap bmpsheet=BitmapFactory.decodeResource(this.getResources(), R.drawable.java);
        String jsonStr="{\"frames\":[[0,0,50,71,0,32.75,36.25],[50,0,50,71,0,32.75,36.25],[100,0,50,71,0,32.75,36.25],[150,0,50,71,0,32.75,36.25],[200,0,50,71,0,32.75,36.25],[0,71,50,71,0,32.75,36.25],[50,71,50,71,0,32.75,36.25],[100,71,50,71,0,32.75,36.25]],\"animations\":{\"stand\":[0,6,0.2],\"run\":{\"frames\":[0,1,2,3,4,5,6],\"speed\":0.2},\"jump\":[6,6]}}";
        JSONObject jsonObj=null;
		try {
			jsonObj = new JSONObject(jsonStr);
			HSpriteSheet sps=new HSpriteSheet(bmpsheet,jsonObj);
			stage.addChild(sps);
			sps.x=100;
			sps.y=100;
			sps.gotoAndPlay("run", 0);
			
		} catch (JSONException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
    }

apk及源码打包下载

« 上一篇下一篇 »

相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。