История изменений
Исправление waker, (текущая версия) :
1. на входе координаты мыши (от левого верхнего угла, наращение «вниз»). нужно перевести их в правильную систему координат, в которой ты работаешь
x = x_mouse - x_scroll; // x_scroll -- это насколько у тебя viewport сдвинут от начала координат
y = -(y_mouse - y_scroll); // то же самое, но с переворотом
2. выравниваем по сетке той функцией что я выше написал
float snap_to_grid (float x, float grid_step) {
return round(x / grid_step) * grid_step;
}
x = snap_to_grid (x, 10);
y = snap_to_grid (y, 10);
3. координаты уже есть, по идее ничего другого не надо — они же у тебя в этой системе координат должны храниться. но если ты не понимаешь как обратно в экранные перевести, то все то же самое в обратку
x += x_scroll;
y = -(y + y_scroll);
Исходная версия waker, :
1. на входе координаты мыши (от левого верхнего угла, наращение «вниз»). нужно перевести их в правильную систему координат, в которой ты работаешь
x = x_mouse - x_scroll; // x_scroll -- это насколько у тебя viewport сдвинут от начала координат
y = -(y_mouse - y_scroll); // то же самое, но с переворотом
2. выравниваем по сетке той функцией что я выше написал
float snap_to_grid (float x, float grid_step) {
return round(x / grid_step) * grid_step;
}
3. координаты уже есть, по идее ничего другого не надо — они же у тебя в этой системе координат должны храниться. но если ты не понимаешь как обратно в экранные перевести, то все то же самое в обратку
x += x_scroll;
y = -(y + y_scroll);