概述
目前已经用creator开发了好几款游戏了,现在可以做一些总结了。
1.关于预制资源体。进入游戏场景,预制资源中不能有太多的节点(比如sprite,spine......)。预制资源使用uuid等一系列手段绑定生成资源、调用等,在加载的时候去寻找、设置等等,会花费大量的时间。然而如果在start函数中去创建,使用的时间就会少得多。当然在编辑器命名的名字,在代码中也最好同名,方便你我他。
2.关于数组资源。creator的拖拽调用太方便了,然后在属性设置里面弄个[cc.Node]数组或者其他,然后不停的拖,然而问题来,脚本掉了怎么办!真心会哭,所以使用这个方式少量的可以,比如5个,4个啊.....,太多了还是回归代码创建吧。这是其一,第二个就是不要存储不连贯的数据名,后果同上,并且其他人还不知道拖谁...。
3.关于spine。如果spine中有多个动画,最好让特效妹纸们把默认spine的动画隐藏,程序方便使用setToSetupPose()函数来还原,做其他操作。当然spine导入项目后有些会出现展示的异常,把spine的premuliplie关掉试试。
4.资源复用。游戏中不停的创建销毁,性能消耗也很大,把不用的资源.active=false掉,下次用到刷新的时候就设置true,更改其他属性等等。
5.动画。经发现
for(let i=0;i<10;i++)
{
node.runAction(xxxx)
}
10个node同时做动画+播放一个spine动画,居然有瞬间的卡顿....,引擎版本是1.4.2。
6.googlebuffer。由于引擎组在后续版本中干掉了引用外面的node_modules,为了以后升级,所以在内部添加了googlbuffer的解析。在收数据后解析成对象后,JSON.stringify(data),data内部有些数据是读不出来的,怎么回事儿呢!因为他调用的不是系统提供的stringify方法,调用了googlebuffer内部的解析。所以在解析完成后将数据的属性转换掉类似data.property=Object.property,当然如果转换后的数据缺失少,可以在JSON.stringify(data)后加上需要的数据,毕竟最怕性能消耗!
7.图片资源。老生常谈了,碎图搞成plist,如果不是对画质要求特别高,最好是压缩下原图,缩小包的体积。
8.游戏启动时间长,黑屏长。过度动画
9.关于shader。以前用shader弄了个高斯模糊,最后发现底层有spine的出现了黑块,弃!;如果游戏中万不得已要使用shader,算法一定不能太复杂。
10.图片。很多时候想复用同一张图片做其他事情,比如用大图,通过等比缩放或者等比算size的大小来放小一张图片来使用,如果比例不是很大效果差距不大,如果比例大了,图片就会出现变形。结局是让美术重出吧!
11.sequence是一个连续的播放动作,如果内部只有一个动作,会出bug
12.repeat动画,子节点和父节点都使用的时候,小心!
13.js的setTimeout和cocos的action混合使用,如果是连续的执行2次,并且在每次执行前都停止,会出现很奇怪的现象,猜测是setTimeout代码交叉出问题了(待定,慎用)。
14.关于texture被load后,删除的问题,首先找到路径var absolutPath=jsb.fileUtils.getWritablePath()+图片name
注意这里是路径+图片名字,不是路径+"/"+图片名字。getWritablePath()它本身就在最后加了反斜杠。
var texture= cc.textureCache.getTextureForKey(absolutPath)
if(texture){
cc.textureCache.removeTexture(texture)
cc.loader.release(absolutPath)
}
这是1.9以前的,1.0或者2.0后的可能不一样。
15. 关于节点层级,同节点之间,如果node1的zIndex=1,在代码某个地方让node2.zIndex=1(以前的node2.zIndex=0)
,这样后在不同的平台有不同的表现。ios中,新设置的node2在node1的上面;android中node1还是在node2的上面;网页同ios。所以如果要让node2在node1的上面,设置node2.zIndex=2靠谱些
16.关于lable的RESIZE模式。如果字符串是不带空格或者是英文的一串,label的resize会不生效
17.在iphone上连续播放音效,后续音效可能播放不出来(特指,setFinishCallback函数),web和android都可以,可以让间隔时间长点
最后
以上就是背后星月为你收集整理的cocos ceator 使用的坑和总结的全部内容,希望文章能够帮你解决cocos ceator 使用的坑和总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复