1. 前言

早在8月24日,公众号收到网友「Vincent」的留言,提醒我uikiller库在Cocos Creator 2.0上有错!惊出一身冷汗,怎么忘记这个事了。晚上回到家,迅速启动Cocos Creator 2.0打开uikiller工程,确实是有问题,还好问题不严重,立马做了修改并推送到github仓库增加了v2分支,在此感谢「Vincent」提醒!

虽然uikiller的使用者并不多,但是他们是将uikiller应用到了自己的项目,一旦有问题,我也是有责任的!在这里肯请大家,如果发现我的问题,希望能即时向我指出。

2. uikiller的进化

uikiller在Cocos Creator 2.0上的问题,主要是Cocos Creator有部分API发生了变化和调整,目前Shawn还没有使用Cocos Creator 2.0做项目,有些后知后觉!我将在uikiller中发现的API调整做一个简单分享:

使用rect.contains替换cc.rectContainsPoint

image.png

cc.pXXX系列函数被废弃,使用cc.Vec2成员函数

image.png
cc.pAdd需改为p.add,cc.pMult改为p.mul

image.png

两个点的距离计算cc.pDistance改为p1.sub(p2).mag()。

cc.audioEngine.play不建议使用url参数

image.png

cc.audioEngine.play(url)使用下面方法代替

cc.loader.loadRes(url, cc.AudioClip, (error, audioClip) => {
    cc.audioEngine.play(audioClip);
})
更多参见Cocos Creator2.0升级指南

Shawn这里讲的都非常简单,更多引擎升级问题请参考官方文档:Cocos Creator v2.0 升级文档

3. uikiller简单控制器支持

将界面逻辑与业务逻辑都编写在组件脚本中是否合适?如何将MVC模型应用于Cocos Creator游戏开发之中?Shawn经过对PureMVC的项目实践经验,结合Cocos Creator组件化开发,总结出了一套更加简化的MVC模型,不过目前只提供了控制器的简单应用。

uikiller连接控件器.png

如果你也感兴趣,可以参考uikiller源码,测试场景test3、test10可以具体使用方法和效果。

一个预制体,两个脚本(组件脚本与控件器脚本),这让我联想到《斗罗大陆》唐三的双生武魂,左手蓝银草主控制,右手昊天锤主攻击,请看下图:

image

不吹那么多了,多年心得尽在uikiller,源码地址奉上:https://github.com/ShawnZhang2015/uikiller

注意:控制器功能在v2分支。

4. 小结

在此欢迎大家来「奎特尔星球」投稿,我们一起学习共同成长,将自己的经验用文字记录下来,整理成行之有效的方法论,使之能被迭代、复制。


欢迎关注「奎特尔星球」微信公众号,来我们一起成长!

uikiller支持Cocos Creator 2.0插图(6)

最后修改日期:2018年12月19日

作者