2 设计一个简易的引导任务框架 | 4.23粉丝赠书( 三 )


2  设计一个简易的引导任务框架 | 4.23粉丝赠书

文章插图
let GodCommand = {//定位节点locator(godGuide, step, callback) {...},//定位节点,显示一个手指动画finger(godGuide, step, callback) {let { args } = step.command;//定位节点godGuide.find(args, (node) => {godGuide._targetNode = node;//手指动画godGuide.fingerToNode(node, () => {//点击确认node.once(cc.Node.EventType.TOUCH_END, () => {cc.log('节点被点击');//任务完成callback();});});});}};
其实没什么东西,就在前面函数的基础上增加了 . 的调用 。
指令设计—文本提示
在引导流程中,更为常规的做法是手指动画 + 提示文本,读者可以思考一下如何设计一个 text 的指令 。
我们以测试驱动的方式,先给出引导配置:
{...steps: [{desc:'文本提示'command: { cmd: 'text', args: ['欢迎来到 xxx 游戏', 10001, 10002] };},{desc: '点击主界面主页按钮',command: { cmd: 'locator', args: 'Home > main_btns > btn_home'},},]}
... ...
text 指令的参数是一个数组,可接受两种类型:
文本字符串:直接显示即可
语言配置 ID:有些游戏支持多国语言,在此直接配置语言 ID
同样,我们使用异步控制串行逐一输出 args 中的文本,当玩家点击屏幕时输出下一条文本,这里就不在帖出代码了 。
小结
Step和指令 都是可扩展、可编程的, 在实际的项目中,我们可能需要根据具体业务需求,设计出更多的指令,方便引导任务的配置,例如: 列表滑动指令、节点关闭指令、玩家等级变化指令、玩家过关指令等等,指令的设计主要是对事件的监听和异步流程的控制。
下一次,我们再给大家介绍,关于自动化的实现 。
框架已经上架 Cocos Store,而且最近开发者们又来上新了一大堆好玩、有趣、有价值的内容,点击【阅读原文】来看看吧!
4.23粉丝福利,快来参与吧!
参与方式:
本文点赞留言,必须超过20字,以及你想要的图书名字参与活动
积赞最多的前3名读者,将会获得赠书,三选一
活动截止时间:2021-4-24 20:00明天晚上8点