Драсте, давно не бывал на форуме.
Значит, появилась проблема с пикселями. Сначала рисую пустого белого персонажа, а потом через манипуляцию пикселей натягиваю ему какой-либо рандомный цвет.
И значит, не могу убрать ненужные пиксели.
*всё что снаружи жёлтого - ненужные части*
В спрайте эти части сами по себе прозрачные, но когда начинается манипуляция пикселями, то появляются эти ненужные куски.
Вот код самой смены цвета:
Код
function recolor(x, y, c1, c2, fillC) {
var imgData = graph.getImageData(x, y, c1, c2);
var col = hexToRgbA(fillC);
for(var i = 0; i < imgData.data.length; i+=4){
// console.log("r: "+ imgData.data[i] + ", g: " + imgData.data[i+1] + ", b: " + imgData.data[i+2] + ", a: " + imgData.data[i+3]);
if(imgData.data[i] >= 50 && imgData.data[i] <= 255){
imgData.data[i] = col.r-(255-imgData.data[i]);
imgData.data[i+1] = col.g-(255-imgData.data[i+1]);
imgData.data[i+2] = col.b-(255-imgData.data[i+2]);
imgData.data[i+3] = imgData.data[i+3];
}
}
graph.putImageData(imgData, x, y);
}