版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aiyoyoyo/article/details/77683744
为了写Button类,踏平了好多坑。。。
这里我主要细讲一下Module类和jeesjs.MM类的使用。
jeesjs.MM 模块管理器,参考demo/ModuleTest.js:
var MOD = new jeesjs.Module()
jeesjs.MM.enter( MOD, [level] );
Module类主要用于绘制Canvas中的部件,这里封装一层是为了让多模块,多层级模块便于管理。
通过jeesjs.MM.enter之后,会触发Module.enter()方法,这个用于初始化内容。
enter之后,会调用Module.update()方法,这个用于更新和计算内容。
当多个Module被管理器加入之后,会按照从前往后的顺序执行update()方法。
如果参数level填写了,模块管理器会从低级别层级的最靠前模块依次调用update()。
jeesjs.MM.enter( modA, 0 );
jeesjs.MM.enter( modB, 1 );
jeesjs.MM.enter( modC, 0 );
这段的执行顺序是 modA->modC->modB,上一层级,你可以理解为弹出式对话框的形式。
jeesjs.MM.leave() 会按照从后往前的形式,弹出最后一个模块。
另外,Module还提供了interrupt()中断方法和recovery()恢复方法。
当有新的模块被管理器加入时,当前的最上层模块会触发中断方法。
当最上层模块被管理器剔除时,新的最上层模块会触发恢复方法。
大致意思就是如果有弹出对话框了,底层会触发中断。关闭对话框了,底层会触发恢复。
模块的用法参考了之前游戏开发的经验,这里做出了点调整。如果有其他思路,欢迎各位加群一起讨论:QQ:8802330