hanyeah 专注于AS

(二)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及源码打包下载

2015年12月15日 | 发布:hanyeah | 分类:Android | 评论:0

发表留言: