Wpis z mikrobloga

Stworzyłem grę w piksele, ale mam mały problem z pixelami.

Zobaczcie sami: https://cubes.fly.dev/

mój problem na pewno leży w tej funkcji, która potem wysyła koordynacje do serwera przez WS
cała gra działa dobrze, ale jak zauważycie jak klikacie prawym przyciskiem myszki nie zawsze trawia w ten piksel jaki chcecie.
Już próbowałem dodawać i odejmować od offsetX i offsetY ale najlepiej działa jak odejmuje -1 od każdego, ale nadal słabo, jak zrobić lepiej?

Tutaj mój kod: https://github.com/skorotkiewicz/JustFun/tree/ssr2

Jak coś to patrzcie w ssr2, nie inne branche, bo dużo testuje.

const putPixel = (ev) => {
ev.preventDefault();
if (ev.ctrlKey && ctx) {
const [x, y] = [ev.offsetX - 1, ev.offsetY - 1];
const [r, g, b] = ctx.getImageData(x, y, 1, 1).data;
setColor({ r, g, b });
} else {
const [x, y] = [ev.offsetX - 1, ev.offsetY - 1];
setPixel(x, y, color, true);
}
};

#programowanie #javascript #react
  • 4