При выполнении функции не всегда выдает цвет пикселя, а именно
Uint8Array [ 0, 0, 0, 0 ]
Uint8Array [ 0, 0, 0, 0 ]
Uint8Array [ 0, 0, 0, 0 ]
Uint8Array [ 255, 0, 0, 255 ] - если нажимаю на окрашенный пиксель
Uint8Array [ 0, 0, 0, 255 ] - если нажимаю на пустое место
Думаю ошибка в определении альфа канала, но я не понимаю почему? Прозрачность не нужна при определении цвета, да и я совершенно точно окрашиваю место допустим в красный цвет (и шейдеру задаю совершенно точные параметры (1.0,0.0,0.0,1.0)) и при нажатии выдает нули и иногда нужный цвет. Вот функция. :
function pickObject() {
canvas.onmousedown = function(ev) { // Кнопка нажата
var x = ev.clientX,
y = ev.clientY;
var rect = ev.target.getBoundingClientRect();
if (rect.left <= x && x < rect.right &&
rect.top <= y && y < rect.bottom) {
var x_in_canvas = x - rect.left,
y_in_canvas = rect.bottom - y;
var picked = checkPickOject(gl, x_in_canvas, y_in_canvas);
}
};
}
function checkPickOject(gl, x, y) {
var pixels = new Uint8Array(4);
gl.readPixels(x, y, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
console.log(pixels);
if (pixels[0] == 255) {
picked = true;
}
return picked;
}
pickObject();
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть html & js игра написана с помощью phaser фреймворка, как теперь ее упаковать вapk?
ПриветКак разработчики реализуют поддержку валютных иконок в своих проектах? Использовать Font Awesome нету смысла - там валютных иконок всего...
ЗдравствуйтеКак сделать так, чтобы в customerContact копировалось значение из поля E-mail?