有些小坑和解决方案,想记录下来:
0.一些有用的网站
Cocos官方下载:https://github.com/fusijie/Cocos-Resource
Easing缓冲动画: https://blog.csdn.net/zxf13598202302/article/details/49794793
3D网格动画:https://www.cnblogs.com/zfyouxi/p/4792769.html
1. 防止点击穿透
场景:在游戏界面有功能按钮,上层弹出layer之后,加入了遮罩,但是游戏界面的功能按钮还可以点击,穿透了!
方案1:打开遮罩的交互性(interactable),node.setTouchEnable(true)
方案2:组件cc.BlockInputEvents 组件将拦截所属节点bounding box 内的所有输入事件(鼠标和触摸),防止输入穿透到下层节点,一般用于UI的背景。
2.节点不能正常显示
场景:无论如何调整,都无法正常显示,代码节点
方案:节点,位置,大小,是否已经addChild
3. PC上的可以触屏操作,手机上不能触屏操作
场景:问题很奇怪,H5页面上cc.Node.EventType.TOUCH_MOVE会生效,在手机上却不会生效
方案:打印log之后,发现,我的区域限制函数出了问题,导致不可以调用精灵对应动作
根本原因,PC与手机的左边系存在差异,限制运动区域函数的屏幕坐标使用设计分辨率解决了问题
FrameSize 就是屏幕的实际分辨率,比如手机是1280*720,那么这就是FrameSize的值
WinSize 就是设计分辨率,相当于游戏设计的逻辑大小
VisibleSize 就是画布显示在画框中的部分,是用WinSize 来表示的
VisibleOrigin 就是VisibleSize在画框中的做下角的左边点,注意也是用WinSize来表示的
4. runAction死活不运行
场景:做了一个出牌动作,死活都执行
原因:判空时节点存在,执行动作前节点被删除
方案:使用其他节点做动作,执行,解决方法,找到删除节点的地方去除
5. setRotation旋转函数
node.setRotation(0) 旋转到初始位置 ↑
node.setRotation(90) 顺时针旋转90度 →
6.点击按钮组件,CocosStudio崩溃
按钮图片资源过大,一张按钮图片18M,导致编辑器加载卡死
6.斗地主滑牌,选择手牌,操作
https://www.cnblogs.com/skyxu123/p/9891207.html