最近一直使用cocos creator开发游戏,开发过程中会遇到一些问题,随手记录一下:
1.cocos creator中js或ts文件可能会相互引用,有时需要某些文件引入时间比另外一些要早一些,查看文件的require顺序,可以运行游戏在chrome中查看
2.creator2.3中的Button控件,在代码中改变button控件的enableAutoGrayEffect的属性为true,并且interactable为false,此时
按钮并没有灰,说明没有更新shader.要解决这个问题只需要加入以下代码:
let tmpMaterial = cc.Material.getBuiltinMaterial('2d-gray-sprite');//使用内建的材质
let resultMaterial = cc.MaterialVariant.create(tmpMaterial, tmpButton.node.getComponent(cc.Sprite));
tmpButton.grayMaterial = resultMaterial;//设置按钮的graMaterial材质.
可以去查看creator中的相关代码,CCButton,gray-sprite-state,CCMaterial,Material-variant.