新手引导框架开源啦,支持TypeScript!

Mark 看起来好像 是不是依然没有解决策划频繁更改需求导致新手教程反复更改的问题…

1赞

mark

------------------------好游戏------------------------

战略mark

mark

mark

mark

楼主,我看了你写的新手引导框架,有一个问题想问一下:
如果碰上条件触发的话,目前这套写法是否过于冗余了,相当于需要在每个需要触发的地方on一个事件,然后当条件满足的时候emit,我这样理解没问题吧?

你说的冗余是指什么呢?

条件触发是需要注册一个事件,比如玩家金币多少、等级多少、获得了什么道具等等,这些是业务逻辑,你需要写到一个专用的task里。我们榀以在这个task中去监听网络事件、或游戏中的全局事件,或你定制的某个事件来激活引导步骤执行。

使用事件方式不消耗性能,也可以使用定时周期去检查,比如一秒一次,但不太推荐这种方式。

mark

mark

厉害啊,mark

嗯,条件触发式的确实是需要注册事件,然后派发校验,问题也不大,唯一繁琐的是每个模块引导的话也是需要额外注册事件去等待emit,而没有统一的处理。

还有是否有一种可能会出现引导主线A还未完成的情况下,引导支线B触发了,这套框架似乎无法处理这种情况,或者我没读到?

不会的,你设置主线为 task1, 支线为task2

需要task1中的任务全部完成了,才会启动task2

mark

mark

录制新手引导调用startRecordNodeTouch,

缓存引擎原生触摸派发函数** cc.Node.prototype.dispatchEvent**;

有的时候监听的节点父级会消失, parent=null

比如我有一个 Canvas > UIMain > Normal > Lobby(动态生成节点),

当我点击这个节点中的一个按钮"设置", 这时Lobby节点的父级就会是Normal
当我点击这个节点中另一个按钮"战斗", 这时Lobby节点的父级就会是Null

两次Lobby的ID都是相同的.


this 实际指向动态生成的节点(Lobby), 节点没有父级了…

当我点击录制新手引导的时候, 其实Lobby节点已经生成很久了. 并且不是只生成一个动态节点, 有的动态节点调用时有父级有的没有父级,蒙了…

大佬 知道这种情况是因为什么原因吗? 节点父级不一定存在,导致定位节点,点击事件时,新手引导流程卡住.

mark

ma ke

战术插点