最近更新时间:2015年1月23日
欢迎您使用Egret
特别鸣谢:
- 墨麟集团-武汉鱼之乐信息技术有限公司
- 南京泥巴怪网络科技有限公司
- 北京小苹果网络科技有限公司
- 小米互娱-米聊团队
- 梦启(北京)科技有限公司
- 欢聚时代游戏事业部-前端技术组
- 北京多放辣椒网络科技有限责任公司
- 开心网开腾工作室
Egret 1.5.3 社区体验版是一个针对Egret引擎双周迭代改良后的第三个社区体验版本。在这个版本中,我们主要聚焦于MovieClip模块的重构以及部分bug修复。
注:社区体验版里包含了之前Final版本的所有功能,也会加入引擎最新的一些功能实现。如1.5.3社区体验版包含了1.5的功能,加入了新的功能,也对1.5的问题做了修正,1.5.3的新功能经过数次的版本迭代趋于稳定后,将会被合并进入下一个Final版本。如开发者将游戏用于production环境,推荐使用Final版本;如果希望第一时间体验功能,推荐使用社区体验版。
- 修复 BitmapFont 第一次返回首字符高度为0的问题
- 修复 DisplayObjectContainer 中 addChild 方法可能错乱问题
- 增加RES.parseConfig()接口,允许运行时动态生成资源配置文件
- MovieClip架构重新设计
- 修复 BitmapLabel 在 font 属性改变后没有标记失效的问题
- 解决 Scroller 触摸区域超出 Scroller 尺寸范围的bug
- 增加egret build命令检查重复的类定义
- 修复 create_manifest 报错问题
- 增加WebView支持
- 更稳定的生命周期管理
- 更全面的错误日志
- 提高下载速度
- 增加对gif图的支持。只能显示第一帧。
- 修正DesignSize点到物理屏幕点计算错误的bug
- 特定分辨率上触摸不准确的bug
- 修正网络超时的设置
- 修复https无法下载的问题
- Android Graphics API 目前只支持简单的画线操作
- Android TextField API 目前不支持加粗和斜体
- Android RenderTexture 尚未实现
- iOS Support 目前只支持 iOS7+ 的版本
- 全新的数据格式,支持多个swf打包到一个数据文件中。具体参考这里
- 全新的MovieClip架构,结构上分为MovieClip, MovieClipData, MovieClipDataFactory,三部分
- MovieClip的API及功能基本仿照flash.display.MovieClip.具体参见API Spec.
- MovieClip的创建需要提供MovieClipData实例
- MovieClipData是对MovieClip所用数据的封装,相当于flash中的SpriteSymbol(swf的数据封装). MovieClipData 能够由MovieClipDataFactory生成
- MovieClipDataFactory 负责管理由TextureMerge生成的MovieClip数据集文件,根据MovieClip名称生成MovieClipData
- 播放控制接口更加人性化,支持传入帧序号和帧标签
- 支持循环播放,在每次循环结束后会抛出Event.LOOP_COMPLETE事件,在播放完成后会抛出Event.COMPLETE事件
- 去掉了自定义事件的支持。如果您需要自定义事件或者其他功能的支持,请在论坛里提需求,我们可以在后续版本加入
- 注意:为了避免可能的内存泄漏问题,MovieClip只有被加到stage上之后才能被正确的播放!如果您需要不在stage上的Movie也能够正常播放,请在论坛里提需求,我们可以在后续版本加入
1.升级数据文件 新的MovieClip不兼容老的数据格式,所以迁移的第一步是升级数据文件。您需要下载最新的TextureMerger,找到原始的swf文件并拖到TextureMerger中,重新导出数据文件和纹理文件,并替换工程中老的文件。
2.修改创建MovieClip的代码:
MovieClip改为通过接收MovieClipDataFactory生成的MovieClipData来创建。
请将类似如下的代码 var mc = new egret.MovieClip(data, texture);
改为
var mcDataFactory = new egret.MovieClipDataFactory(data, texture);
var mc= new egret.MovieClip(mcDataFactory.generateMovieClipData());
3.将部分API调用修改为属性访问
请将类似如下的方法调用改为访问相应的属性
mc.getCurrentFrameIndex() -> mc.currentFrame
mc.getTotalFrame() -> mc.totalFrames
mc.setInterval(value) -> mc.frameRate = 1000/value
mc.getIsPlaying() -> mc.isPlaying
4.删除dispose和release的方法调用
请将类似如下的代码删除:
mc.dispose()
mc.release()