![]() |
|
||||||||||
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Скажем у тебя пазл 100 на пикселей. В пазлов 5 на 5. То есть координаты верхнего правого угла вычисляются по формуле c=n*20, где N это условная позиция (0-4). Можно задать еще уровень привязки (snap). Скажем в 5 пикселей.
На выходе получаем: snap = 5;
step = 20;
newC = function (arg) {
var n = Math.round (arg / step);
var s = Math.abs (arg - n * step);
if (s <= snap) {
return n * step;
} else {
return arg;
}
};
trace (newC (-6));
trace (newC (-5));
trace (newC (0));
trace (newC (4));
trace (newC (6));
trace (newC (14));
trace (newC (16));
|
![]() |
Часовой пояс GMT +4, время: 15:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|