![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
|
Есть код
stop();
//кнопка "влево"
_root.bl.onRelease = function() {
_root.plays = 1;
_root.x2 = _root.box._x+205;
};
//кнопка "вправо"
_root.br.onRelease = function() {
_root.plays = -1;
_root.x2 = _root.box._x-205;
};
_root.onEnterFrame = function() {
if (_root.plays == 1) {
_root.box._x = _root.x2-(_root.x2-_root.box._x)/2;
} else if (_root.plays == -1) {
_root.box._x = _root.x2+(-_root.x2+_root.box._x)/2;
}
trace(_root.box._x);
};
(т.е. надо чтобы BOX вставал в целые координаты кратные 205, без всяких сотых) Пробовал Math.floor и Math.ceil, но box._x - может быть и отрицательная. |
|
|||||
|
Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
|
А не хочет
stop();
around = function (arg) {
if (arg > 0) {
return Math.floor (arg);
} else {
return Math.ceil (arg);
}
};
stop();
//кнопка "влево"
_root.bl.onRelease = function() {
_root.plays = 1;
_root.x2 = around(_root.box._x+205);
trace(_root.x2);
};
//кнопка "вправо"
_root.br.onRelease = function() {
_root.plays = -1;
_root.x2 = around(_root.box._x-205);
trace(_root.x2);
};
_root.onEnterFrame = function() {
if (_root.plays == 1) {
_root.box._x = _root.x2-(_root.x2-_root.box._x)/2;
} else if (_root.plays == -1) {
_root.box._x = _root.x2+(-_root.x2+_root.box._x)/2;
}
};
205 409 613 407 202 |
|
|||||
|
Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
|
лови исходник
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
а понятно. тебе нужно при нажатии не к текущим координатам прибавлять 205, а увеличивать или уменьшать счетчик нажатии. то есть, в самом начале он равен 0, при нажатии влево отнимается 1, а вправо наоборот прибавляется. после умножаешь счетчик на 205, это и будет твоя конечная координата для объекта.
|
|
|||||
|
Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
|
огромный сенкс
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|