![]() |
|
||||||||||
|
|||||
|
Гаспада! И дамы.
Нужно мне, чтобы мувик, появляющийся например на координате _x = 58 перемещался на _x = 60, а с _x = 44 на _x = 40. Словом, чтобы я мог их небрежно бросать, а они бы сами выстраивались ровно с шагом в 20. Как такое хитрожолтое округление изобразить? У меня с математикой с детства конфликты. |
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
дальше уже самому легко разобраться..
зі: а с математикой надо начинать дружить ![]() |
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
function rounder (num:Number):Number {
return ((num / 10).toString().substr (num.toString().length, 1) < 5) ? Math.floor(num / 10) * 10 : Math.ceil(num / 10) * 10;
}
trace (rounder (336)); // 340
Работает с целыми числамиПоследний раз редактировалось screamge; 23.07.2007 в 03:24. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
|
|||||
|
[+1 22.07.07]
|
2 screamge: однозначный зачет!
|
|
|||||
|
Ыыыы
![]() Спасибо всем! Математика - злобная злобность. Нифига не понимаю. Видать изящные ходы не для меня - щаз топором и кувалдой у себя в проекте всё построю - авось сойдёт ![]() |
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
Думаете в какую-нибудь индийскую фирму пригласят?
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Подводим итог
//// сама функция округления, первый параметр исходно число
//// второй - шаг округления по умолчанию 10
function roundStep (x:Number, step:Number):Number {
step = step || 10;
return Math.round (x / step) * step;
}
//// пример с шагом 10
for (var i:Number = 0; i < 20; i++) {
trace (roundStep (Math.random () * 300 - 150));
}
trace ("")
//// пример с шагом 20 (что требовалось)
for (var i:Number = 0; i < 20; i++) {
trace (roundStep (Math.random () * 300 - 150, 20));
}
trace ("")
//// пример с шагом 100
for (var i:Number = 0; i < 20; i++) {
trace (roundStep (Math.random () * 300 - 150, 100));
}
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
Хотя там конечно бред написан. Последний раз редактировалось iNils; 24.07.2007 в 19:18. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|