1
如何从纹理中读取[x,y]处的像素颜色(在cocos2d-js中)?如何从纹理中读取像素的颜色(cocos2d-js)?
如何从纹理中读取[x,y]处的像素颜色(在cocos2d-js中)?如何从纹理中读取像素的颜色(cocos2d-js)?
我认为在cocos2d框架中没有这样的支持,如果有人可以这样做,它可能会是一个更好的答案。
但是,cc.Texture2D确实有getHtmlElementObj()
函数。现在,这个函数可以返回一个图像元素或一个画布元素。如果它返回一个图像,你需要像它一样制作一个画布;
var canvas = $('<canvas/>')[0];
canvas.width = img.width;
canvas.height = img.height;
canvas.getContext('2d').drawImage(img, 0, 0, img.width, img.height);
一旦你有一个画布元素,你应该能够得到一个像素的颜色:
var data = canvas.getContext('2d').getImageData(x, y, 1, 1).data;
var color = new Color([data[0], data[1], data[2]]);
和公正的良好措施,这里是如何测试是否getHtmlElementObj()
返回图像:
function isImage(i) {
return i instanceof HTMLImageElement;
}
祝你好运!
P.S.您的答案只适用于画布渲染模式 – musikov 2014-10-27 14:58:46
你看了一下:http://discuss.cocos2d-x.org/t/getpixel-setpixel-from-cctexture2d/685?为什么你想读取像素的颜色? – Simon 2014-09-30 07:00:00
有一种技术可以从图像加载游戏关卡。我想知道在cocos2d-js中是否有可能。 – 2014-09-30 08:07:55
为什么你不想使用支持的TiledMaps? http://www.cocos2d-x.org/docs/tutorial/framework/html5/parkour-game-with-javascript-v3.0/chapter7/en – Simon 2014-09-30 09:07:11