大佬教程收集整理的这篇文章主要介绍了【cocos2d-js官方文档】三、Bake功能使用说明,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在游戏开发的过程中,经常会遇到作为UI或者不怎么修改的背景的层(Layer), 这些层内容并不怎么变动。 而在游戏的渲染过程中,这些层往往又会消耗大量的渲染时间,特别是比较复杂的UI界面,比如:在Canvas渲染模式中,一个Button会调用9次绘图(drawImagE)。在复杂一些的UI场景中,会出现UI的绘图次数远大于实际游戏的绘图次数的情况,这对于性能资源非常稀缺的手机浏览器来说,会带来灭顶之灾。
对于上述情况,我们给cc.Layer
加入了bake
的接口, 调用了该接口的层,会将自身以及其子节点都备份(烘焙/bakE)到一张画布(Canvas)上,只要自身或子节点不作修改,下次绘制时,将直接把画布上的内容绘制上去。这样,原来需要调用N次绘图的层,就只需要调用一次绘图了。 当该层不需要bake时,可以调用unbake
来取消该功能。
使用bake功能非常简单: 将需要bake的节点元素加入到一个cc.Layer
或其子类(cc.LayerColor
,cc.LayerGradient
)对象中,然后调用该对象的bake
函数就可以了。 示例代码:
var bakeLayer = cc.Layer.create(); this.addChild(bakeLayer); for(var i = 0; i < 9; i++){ var sprite1 = cc.Sprite.create(s_pathGrossini); if (i % 2 === 0) { sprite1.setPosition(90 + i * 80,winSize.height / 2 - 50); } else { sprite1.setPosition(90 + i * 80,winSize.height / 2 + 50); } sprite1.rotation = 360 * Math.random(); bakeLayer.addChild(sprite1); } bakeLayer.bake(); //start the bake function
更多信息,可查看我们的测试例(js-tests)的Bake Layer test.
以上是大佬教程为你收集整理的【cocos2d-js官方文档】三、Bake功能使用说明全部内容,希望文章能够帮你解决【cocos2d-js官方文档】三、Bake功能使用说明所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。