hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

怎样较为文雅地完成新手指导功用?

2019-11-18杂谈搜奇网31°c
A+ A-

初期的项目中晓衡碰到游戏终究要完成了,辛苦了一阵满以为能够轻微放松一下了,但谋划、运营请求,增添一个他们以为异常“简朴”且重要的功用:新手指导

回想起昔时,接到这个使命时的以为是四肢冒汗、天晕地暗、日月无光,游戏代码本来就千疮面目面貌,逻辑扑朔迷离,基础不知道该怎样动手?更难题的是,游戏自身功用和需求还不稳固,老板随意一个主意能够就会被改、改、改...,我该怎样办?

在这类情困难的状况下一定要,须要坚持岑寂,在痛定思痛以后,我最先了指导功用的开辟,在做的过程当中不停积聚,编写了一套设置式、可编程的指导框架,然后交给其他开辟职员或谋划职员做详细的指导内容,真的是:“杀不死你的会使你更壮大”

完成新手指导的难题

一般完成新手指导的难题在于,它与当前需求、功用密切相关,而且稍有不甚连一般流程都走不通,下面一同看看新手指导到底有那些痛点。

开辟中的痛点

  1. 须要在一般流程中插进去指导代码,滋扰流程;
  2. 指导代码的增添会影响原有代码逻辑,增添保护难和本钱;
  3. 界面或需求的变化会致使指导功用大幅修正,以至从新制造;
  4. 手指提醒对应的矩形区定位贫苦,不能简朴运用牢固的位置和矩形大小;
  5. 编写指导的代码也很难题,须要谋划—顺序之间高度合营。

希冀的编程体验

在相识到传统的指导制造过程当中的难点与弊病后,一直在思索没有更好的完成体式格局,我心中的指导功用的编程体式格局愿望有以下几点:

  1. 指导功用代码,不能混入一般游戏逻辑代码中,后患无穷,应只管星散;(难以忍耐文雅的代码被无情的打乱,更难忍耐蹩脚的代码被弄的四分五裂)
  2. 界面只发作简朴的UI位移、Size大小、节点条理的调解,不须要修正具指导代码;
  3. 定位UI指引矩形地区应尽能够简朴,能自适应差别的屏幕尺寸;
  4. 最好能做到谋划职员都能够来制造部份流程指导;
  5. 在指导需求明白、游戏功用一般的状况下,制造一个通例的指导步骤应当异常快速。

下面是我运用Cocos Creator 官方 demo-ui 工程上嵌入的指导案例演示:

demo体验地点:
http://game.ixuexie.com/godGuide

这里有一个视频演示:
https://www.bilibili.com/video/av60001770/

框架要点

演示中的指导操纵,是运用下面JSON设置举行掌握:

module.exports = {
    name: '进入市肆',
    debug: true,
    autorun: true,
    steps: [
        {
            desc: '文本提醒',
            command: { cmd: 'text', args: ['迎接体验Shawn的新手指导框架', '本案例演示:\n1.文本提醒指令\n2.手指定位指令\n3.自动实行指导\n4.点击操纵录相', '起首,请点击首页按钮'] },
        },

        {
            desc: '点击主界面主页按钮',
            command: { cmd: 'finger', args: 'Home > main_btns > btn_home'},
            delayTime: 0.5,
        },

        {
            desc: '文本提醒',
            command: { cmd: 'text', args:  '点击主界面设置按钮' }
        },

        {
            desc: '点击主界面设置按钮',
            command: { cmd: 'finger', args: 'Home > main_btns > btn_setting'},
        },

        {
            desc: '文本提醒',
            command: { cmd: 'text', args: '点击主界面市肆按钮' }
        },
}

设置中的重点是 steps 数组项目,个中的 desc 是指导步骤的形貌,重要用于调试,command是指导指令,这里完成的是一个手指指导指令:finger, 背面的args是指令参数,借助CSS中的选择器观点,我这里简朴完成了一个节点猎取的要领,称之为:定位器

定位器

点定位器的观点,实在它异常简朴,以下图所示:

你能够会想到,引擎供应的 cc.find 就搞定,代码以下:

cc.find('Canvas/Home/lower/main_btns/layout/btn_home')

节点途径字符串能够准确定位到 btn_home 节点,但在实际运用中时会以为很烦琐:

  1. 字符串太长,轻易失足;
  2. 节点名字、层级变化,节点途径字符串就失效了,轻易被误伤。

为了使途径表达更简约牢靠,笔者引入了两个定位标记:

/: 右斜杠,代表1级子节点(与cc.find雷同)
>: 大于标记,示意1~n级子节点

能够将上面btn_home节点的定位符改成

godGuide.find('Canvas > btn_home');

假如我们默许从Canvas节点最先检索,也能够直接写成下面如许:

godGuide.find('btn_home');

如许将从 Canvas 节点一层层最先遍历,想进步检索节点的效力能够改成:

godGuide.find('Home > main_btns > btn_home');

假如场景中有同名节点,也能够运用 '>'标记处理,但统一层级不能有同名节点(假如你须要搜检的话)。

自动指导

指导的测试工作效力低下,既然有了可设置的指导,可否让它自动去实行呢?看下面视频:

https://v.qq.com/x/page/v3017l51xep.html

晓衡最早只是在浏览器上完成了鼠标的点击模仿,厥后扩大到了原生App上也能够运用。 自动指导,能够轻易对指导流程的测试和考证。

流程录制

指导的中心是猎取目的节点,我们是经由过程手写节点定位器(一种简化的节点途径表达体式格局)猎取节点。假如完成一个功用,记录下我们点击的节点途径,是不是能够完成自动生成指导流程呢?然后再让它自动播放出来?

结语

新手指导框架已开源,而且支撑最新版本的 Cocos Creator 2.2.0 下,Github堆栈地点献上:
https://github.com/ShawnZhang2015/GodGuide

原创不容易,假如以为有协助,请点个赞吧!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
怎样较为文雅地完成新手指导功用?

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
未定义标签

本文来源:搜奇网

本文地址:https://www.sou7.cn/282344.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>