[]LayaAir复杂数据对象 预加载

概述:54个动画,都是序列帧图集,而且每一个图集总数还不一样,每个动画对应一个音效。点击左右按钮切换上一个下一个。
问题1:54个序列用到的数据只能手动一个个的写吗?
问题2:为了实现左右点击切换序列动画的效果,是不是应该把这些序列放到一个数组中去呢?通过遍历去实现这个功能?
//数组:这种写法不正确 求给一个正确的写法 
var arr:Array = new Array();
arr[0] =new Object(url:"image jpg/a/a{0001}.jpg", total:25,music:"music/a.mp3");
arr[1] =new Object(url:"image jpg/b/b{0001}.jpg", total:35,music:"music/b.mp3");
arr[2] =new Object(url:"image jpg/c/c{0001}.jpg", total:18,music:"music/c.mp3");
/*这样能够在左右点击的时候通过数组下标决定切换到哪一条数据*/

问题3:由于是H5项目,是不是需要进行预加载。每一次切换同时加载连续的三条数据?
下面上传一个H5测试的界面图:
1.png


 
已邀请:

cuixueying

赞同来自:

问题1:54个序列用到的数据只能手动一个个的写吗?

111.png


解答:这些数据肯定是要你去写的,你可以统一保存到一个JSON或XMLDom下(建议 JSON),进行加载和数据的读取
也可以像你写的那样放到一个数组里,以Object的形式进行存储。

问题2:为了实现左右点击切换序列动画的效果,是不是应该把这些序列放到一个数组中去呢?通过遍历去实现这个功能?
解答:也可以将数据以Object的形式存放大数组下进行获取
正确的写法:

arr[0]={url:"iamges/xxx.xxxx",total:25,music:"music/xxx.xxx"

问题3:由于是H5项目,是不是需要进行预加载。每一次切换同时加载连续的三条数据?
解答:
  如果是序列帧图集的话,需要预加载。
  也可以直接使用loadImage去直接加载图片。不需要预加载。
  图片预加载后获取到的是一个Texture类型对象,可以直接通过graphics.drawTexture显示

 

要回复问题请先

商务合作
商务合作