cocos2d-JavaScript で Pixel-perfect 衝突テストを実装しようとしています。
ピクセル バッファをクリアできません。どうしてか分かりません。
そうです:
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);
}
はい、絵も描きません。をクリアしようとしているだけrenderTexture
で、readPixels
クリアされたかどうかを確認してください。そうではありませんでした。
私は最初に配列ピクセルをいくつかの既知の値で埋めようとしましたが、それをチェックしました-はい、そこにありました。readPixels
価値観が違うけどよくわからない… 何がいけないの?誰か助けてくれませんか?私も試してみましたrend.cleanup();
分割beginWithClear
して分離clear()
してみましたbegin()
...同じ結果です。私は試しましたrend.clearRect
... rend.setClearColor
...何も役に立ちませんでした。