async.js在Cocos Creator中的应用

栏目: 编程语言 · IOS · 发布时间: 5年前

内容简介:在Cocos Creator项目中async.js有两种引方式:1. npm安装方式2. 源码插件方式

一、在Cocos Creator中使用async.js库

在Cocos Creator项目中async.js有两种引方式:

1. npm安装方式

2. 源码插件方式

下面分别介绍这两种的具体操作步骤

npm安装方式

使用npm管理三方模块,首先需要在Cocos Creator项目中初始化npm的包管理配置文件package.json,在输入行中输入:

> npm init

输入命令后,会要求输入一些信息,这不是我们的重点,一路回车即可,操作完成后会在项目根目录创建一个package.json的文件,内容如下:

async.js在Cocos Creator中的应用

然后我们使用npm安装async模块:

npm install async --save

输入上面命令后,会输出一些信息,没有意外,不到10秒就安装好了,看下图:

async.js在Cocos Creator中的应用

安装好后npm会在当前目录创建一个node_modules的目录,打开后你可以看到async模块目录:

async.js在Cocos Creator中的应用

确保node_modules下的async目录存在,就可以在项目中使用async的。

2. 源码插件方式

有的人可能不习惯使用npm方式,我们可以从npm模块中将async.js的发布源码复制到工程assets目录中,然后把node_modules目录删除,看下图:

async.js在Cocos Creator中的应用

只需要将aysnc.js或async.min.js其中一个文件入assets就可以了。将文件放入assets目录,激活Cocos Creator时会提示,是否需要设置为插件,看下图:

async.js在Cocos Creator中的应用

设置为插件async会成为一个全局模块,在使用的地方不需要用require进行导入,直接直接使用即可。

以上这两种方式构建项目都可以让async.js在微信小游戏环境中运行。

二、 async.js应用场景

Shawn在使用async主要应对下面三种场景

1. 创建大量对象时减少卡顿

async.js在Cocos Creator中的应用

上图中使用async.eachLimit可以控制在遍历array变量时的并发数量,每帧调用20次 this._createTile 函数,它是在实例化prefab是一个耗时的操作。

我这里做了一个小测试,比较使用普通循环与async异步实例化1000个prefab的情况:

【插入视频】

不知道你是否从视频中看出点什么? 使用普通循环创建时,可以看到视频中红色方块有瞬间的停顿,因为它是在1帧里面做了1000次,async异步实例化是将这1000次循环分散到了n帧去做(其实总消耗的时间会更长)。

2. 让异步逻辑流程更清晰

async.js在Cocos Creator中的应用

当有一系列异步函数需要串行执行时,asyc.series可以很方便帮助我们解决此问题,从回调地狱中解脱出来。

3. 让异步动画灵活多变

动画的执行都需要有时间,因此也存在大量的异步控制逻辑,我们可以使用一个个的小函数将动画播放逻辑控制起来,并提供一个完成回调。

async.js在Cocos Creator中的应用

然后再用async.series将它们串连起来,而且动画的播放顺序可以根据需求灵活调整。

Shawn之前还有一篇教程 《英雄之舞—凌波微步(利用async.js编写异步动画)》 中对async.js在动画控制中有更多的说明,如有兴趣可以参考此篇教程。

三、小结

异步编程是JavaScript语言的一大特色,异步控制的方案流行的还有Promises、async-await,async.js仅仅只是其中的一种,如果你有更好的JavaScript异步编程经验或方案、案例欢迎留言讨论。

源码:公众号中回复“async”即可获取

async.js在Cocos Creator中的应用


以上所述就是小编给大家介绍的《async.js在Cocos Creator中的应用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

枕边算法书

枕边算法书

[韩] 林栢濬 / 崔盛一 / 人民邮电出版社 / 2018-3 / 45.00元

本书第1章重点讲解各种常见算法,第2章主要介绍几种相对少见的算法,第3章和第4章探究其他程序员编写的代码,从中总结优秀算法应具备的特点,以及高级程序员应当持有的态度和必须培养的能力。书中以日常对话般浅显的叙述方式,帮助专业开发人员、刚刚踏入软件开发和编程门槛的初学者体会程序设计的创造性和成就感。一起来看看 《枕边算法书》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具