Aysnc.js 在 cocos2d-x js 中被移植了,lua 方面有没有类似的移植或者开源模块?

aysnc.js 在 cocos2d-x js 中被移植了,lua 方面有没有类似的移植或者开源模块?

https://github.com/caolan/async/

这个模块神好用,特别是在处理UI的异步操作方面。

我google 了一下,发现 cocos2d-x js v3 对 aysnc 做了移植:http://www.cocos2d-x.org/docs/manual/framework/html5/v3/cc-async/en

不知道 LUA 这里有没有移植,或者类似的开源模块

谢谢

暂时没有导出到Lua中

这个async.js牛逼啊,研究一下先

楼主说你Google了一下,我也Google一下,怎么我Google网页都打不开:6:

找了一圈,没有找到合适的,所以还是自己移植了一下: https://github.com/yi/async.lua

所有资源自动异步加载哥早就实现了 :14:

Talk is cheap, show us the code =)

呵呵 居然说一说这么简单 那我就多说点
今年我在整理一套框架+全套工具链
渲染核心部分基于-x 3.0
核心基础库基于N3 吸收了N3所有基础功能,比如n3最强的文件流,内存池,线程,全部基础容器,富interface,智能指针以及动态类型。
所有的UI全部自己定制,只是用了-x原生的Sprite还有Label。UI全部使用自己定制xml描述,支持正反序列化,支持组件(样式)重用以及样式属性的复写。UI的布局设计和CSS盒式模型一致,只要会写CSS和html,就可以直接手写我们的UI。
MVC完全的分离,所有的逻辑控制类对象在解析ui界面的时候直接创建并挂载到UI界面中。所以可以为一套流程控制单位定制各种ui界面。
所有的节点可以打开或者关闭所有的点击或者移动之类的功能。所有点击或者其他各种消息(比如网络消息等等)派发全部依照MFC消息树设计。开发流程和as3开发或者编写网站程序极为相似。
因为使用自己定制的UI,所以我们也开发了一套功能极为强大的UI编辑器,整个界面完全可以由策划人员完成,换皮的效率也会非常之高,在设计之初就考虑了i18n的需求,切换语言和资源只是一句话的功夫。因为UI的设计本来就支持组件(重用),所以我们的UI编辑器效率非常高。我们甚至还在内部集成了类似flash开发的场景嵌套编辑功能,也可以通过运行按钮直接看到运行时界面【后续我会考虑添加数据的灌入功能,这样可以更直观的看到当前界面运行时的全貌】(吐槽cocostudio:无比不方便,节点导出的属性之多之庞大令人汗颜,拉伸父节点,所有的子节点都会拉伸,而且完全没有组件概念,只能导出整个场景树。我的结论就是cocostudio只是给他们自家做捕鱼达人用的。。。)
资源管理方面,集成mpq打包机制,所以相关的补丁机制也只是水到渠成的事情。
游戏内部资源加载:在界面加载时可以在xml中指定元素是同步加载还是异步加载,我没有使用-x那种很二的异步加载回调,非常不科学。所有资源异步加载透明完成,运行时通过io线程,资源线程以及资源编译线程协调完成。做到任何一个资源(比如图片,plist,打包纹理,粒子描述文件,骨骼动画等等)全部可以做到透明的异步加载。(继续吐槽-x,armature的加载如果是用他们原生的异步加载,居然就不管你plist大图片的加载了,真心坑)
UI方面我也实现了swf的播放,通过解析swf文件,生成-x节点树,从而可以透明的操作一个swf。
文件流我们也完全使用uri的方式,可以以透明的方式读取任何文件,不管文件是在zip中,mpq中还是在本地目录上。
由于只想设计一个轻量的c++层,所以我们大部分的控制代码都在lua层,lua层没什么好说的。反正就是暴露方法,lua对象的派生以及对c++对象的派生。
我们也实现了一套通用功能,封装为我们自己的sdk,支持账户系统、广告系统、公告系统、app更新、资源更新(补丁)、崩溃日志分析、行为日志系统、问题提交系统、推送以及选服。内部使用的sdk使用lua开发,对外时使用原生组件开发。
自有sdk对开发者屏蔽一切三方sdk,而是通过内部的派发实现接入一次即接入已经接入过的全部三方sdk,这个功能我称之为内部的代理sdk。
因为我已经规定了游戏的整个目录结构,做了统一资源定位符,并且所有的项目代码都在lua实现,所以自动打包工具也是水到渠成。
后面还需要实现的系统:自动化测试脚本的定制、录制和灌入。Lua开发IDE环境的开发。AS3脚本的集成。各种游戏类型的开发工具包,开发工具。各种游戏特效的定制,即深度定制shader、action。
这个框架能做的优化都做了,不管是大的还是小的,加上-x高效的渲染,性能绝对不是问题。以后对3d的扩展还在观望,不过肯定是使用开源的框架。如果-x的3d发展快,那会考虑直接使用-x的3D系统,毕竟整套框架的编码工作就省了,还可以获得重用原来GUI系统的好处。
(在吐槽一下-x,个人觉得-x的牛逼之处还是在于场景管理和渲染,消息的派发凑合,框架结构比较清晰,其他的扩展真心有点无力吐槽…)
最后ps,虽然这套玩意已经是我写的第三个2D游戏框架,而且全部代码由我编写,但是有句话说得好,在单位写的东西,都是单位的资产。单位说不开源,那我只好不开源~ :14:

嗯哼,说的真棒,赞一个。

写过类似功能的,但没有照着async.js的api来.
parallel+series应该可以覆盖大多数情况了

其他的我用协程