TestRenderTexture.zip (166.4 KB)### RenderTexture动态生成贴图
我的游戏有一个需求,需要生成动态的纹理,查看Cocos Creator并未发现合适的API,只能使用CocosJs中的RenderTexture来实现,我通过继承cc._RendererUnderSG实现了一个组件,然后在组件中写了可以动态生成纹理的代码。这个组件在Canvas模式可以很好的工作也不会卡顿游戏,但是在WebGL模式就不显示了,请各位前辈帮忙找找问题的原因,谢谢大家了。
附上代码:
cc.Class({
extends: cc._RendererUnderSG,
//<a class="attachment" href="/uploads/default/original/3X/6/7/67b55c527b032aa3b95959878571cad9a03c1ef7.zip">TestRenderTexture.zip</a> (166.4 KB)
_createSgNode: function () {
return new _ccsg.Sprite();
},
_initSgNode: function () {
},
drawPoly: function(){
var renderTexture = cc.RenderTexture.create(300, 300)
var drawNode = new cc.DrawNode();
renderTexture.begin();
for(var i = 0; i< 100; i ++){
for(var j = 0; j< 100; j ++){
drawNode.drawDot(cc.p(i, j), 1, cc.color(cc.random0To1()*255, cc.random0To1()*255, cc.random0To1()*255, 255));
}
}
drawNode.visit();
renderTexture.end();
this._sgNode.setTexture(renderTexture.getSprite().getTexture());
}
});