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