安卓版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(); } }
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。