Здравствуйте, уважаемые!
У меня есть проблема:
canv.addEventListener('mousemove',function(e){
console.log(e);
ctx.fillRect(Math.floor(e.clientX/(16*zoom)) * (16*zoom)+(16*zoom)/2,Math.floor(e.clientY/(16*zoom)) * (16*zoom)+(16*zoom)/2,16*zoom,16*zoom);
if(mousedo){
var xt =e.clientX;
var yt =e.clientY;
var pxt = Math.round(xt/(16*zoom));
console.log(pxt);
var pyt = Math.round(yt/(16*zoom));
field[pyt * 32 + pxt] = color;
}});
Итак, у меня есть поле 32x32, которое хранится в массиве field, который я использую как матрицу, и храню значение цвета пикселя:пример ['white','gray','blue'] и т.д.
Для вычисления номера массива, я вычисляю номер пикселя по y(сверху вниз) и по x(слева направо), в конечном итоге, чтобы найти номер массива я умножаю 32(кол-во элементов в одной строке) на номер пикселя по y и прибавляю номер пикселя по x(что это такое расписал ранее). Но в результате пиксель появляется не там, где мне нужно, помогите исправить :)
Заранее спасибо, если есть вопросы - задавайте. :)