Cocos2d x RenderTexture未清除缓冲区

Cocos2d x RenderTexture未清除缓冲区,cocos2d-x,cocos2d-js,Cocos2d X,Cocos2d Js,我正在尝试在cocos2djavascript中实现像素完美碰撞测试 我无法清除像素缓冲区。我不知道为什么 我有: var winSize=cc.director.getWinSize(); var rend=新的cc.RenderTexture(winSize.width、winSize.height、cc.Texture2D.PIXEL\u格式\u rgba888); var像素=新的UINT8阵列(4*~~numPixels); 从Clear开始的格式(0,0,0,255); gl.rea

我正在尝试在cocos2djavascript中实现像素完美碰撞测试

我无法清除像素缓冲区。我不知道为什么

我有:

var winSize=cc.director.getWinSize();
var rend=新的cc.RenderTexture(winSize.width、winSize.height、cc.Texture2D.PIXEL\u格式\u rgba888);
var像素=新的UINT8阵列(4*~~numPixels);
从Clear开始的格式(0,0,0,255);
gl.readPixels(x,y,w,h,gl.RGBA,gl.UNSIGNED_字节,像素);
rend.end();
对于(变量i=0;i<~~numPixels;i+=1)
{
var rb=像素[4*i+0];
var gb=像素[4*i+1];
调试(级别_调试,“PP-冲突测试”,“i=%s;rb=%s;gb=%s;”、“+i”、“+rb”、“+gb”);
}
是的,我甚至没有画。只需尝试清除
renderTexture
readPixels
,然后检查它们是否已清除。事实并非如此

我甚至试着先用一些已知的值填充数组像素,检查它-是的,它就在那里。在
readPixels
之后,有不同的值,但不清楚。。。 怎么了?有人能帮忙吗? 我还尝试了
rend.cleanup()
我尝试拆分
beginWithClear
以分离
clear()
begin()
。。。同样的结果。 我尝试了
rend.clearRect
<代码>rend.setClearColor
。。。没有任何帮助。

看看这个:
var winSize = cc.director.getWinSize();

var rend = new cc.RenderTexture( winSize.width , winSize.height, cc.Texture2D.PIXEL_FORMAT_RGBA8888);
var pixels = new Uint8Array(4 * ~~numPixels);   

rend.beginWithClear( 0, 0, 0, 255); 

gl.readPixels(x, y, w, h, gl.RGBA, gl.UNSIGNED_BYTE, pixels);

rend.end();

for(var i = 0; i < ~~numPixels; i+= 1)
{
    var rb = pixels[4*i + 0];
    var gb = pixels[4*i + 1];
    DEBUG(LEVEL_DEBUG, "PP - collision test", "i=%s; rb=%s; gb=%s;", ""+i, ""+rb, ""+gb);
}