Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.07.2007, 23:53
Edeisys вне форума Посмотреть профиль Отправить личное сообщение для Edeisys Найти все сообщения от Edeisys
  № 1  
Ответить с цитированием
Edeisys
 
Аватар для Edeisys

Регистрация: Jul 2007
Адрес: Рязанская область.
Сообщений: 42
Отправить сообщение для Edeisys с помощью ICQ
По умолчанию Округление до нужного числа

Гаспада! И дамы.
Нужно мне, чтобы мувик, появляющийся например на координате _x = 58 перемещался на _x = 60, а с _x = 44 на _x = 40. Словом, чтобы я мог их небрежно бросать, а они бы сами выстраивались ровно с шагом в 20.
Как такое хитрожолтое округление изобразить?
У меня с математикой с детства конфликты.

Старый 23.07.2007, 00:26
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 2  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Код:
if(obj._x == 58 && obj._x!=60) obj._x += 1;
else if(obj._x == 44 && obj._x!=40) obj._x -= 1;
дальше уже самому легко разобраться..
зі: а с математикой надо начинать дружить

Старый 23.07.2007, 02:55
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 3  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: 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
Сорри но захотелось сделать что-то извращенное Работает с целыми числами
__________________
Free-lance | Twitter | Me


Последний раз редактировалось screamge; 23.07.2007 в 03:24.
Старый 23.07.2007, 10:09
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код:
mc._x = 10*Math.round(mc._x/10)

Старый 23.07.2007, 16:32
Ведьмак вне форума Посмотреть профиль Отправить личное сообщение для Ведьмак Посетить домашнюю страницу Ведьмак Найти все сообщения от Ведьмак
  № 5  
Ответить с цитированием
Ведьмак
[+1 22.07.07]
 
Аватар для Ведьмак

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
2 screamge: однозначный зачет!

Старый 23.07.2007, 16:55
Edeisys вне форума Посмотреть профиль Отправить личное сообщение для Edeisys Найти все сообщения от Edeisys
  № 6  
Ответить с цитированием
Edeisys
 
Аватар для Edeisys

Регистрация: Jul 2007
Адрес: Рязанская область.
Сообщений: 42
Отправить сообщение для Edeisys с помощью ICQ
Ыыыы
Спасибо всем!
Математика - злобная злобность. Нифига не понимаю.
Видать изящные ходы не для меня - щаз топором и кувалдой у себя в проекте всё построю - авось сойдёт

Старый 23.07.2007, 16:58
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 7  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Думаете в какую-нибудь индийскую фирму пригласят?
__________________
Free-lance | Twitter | Me

Старый 24.07.2007, 17:50
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: 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));
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 24.07.2007, 18:59
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 9  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
интересная строчка :

if(obj._x == 58 && obj._x!=60)

__________________
: M F N W :

Старый 24.07.2007, 19:11
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от Fernando Costa
интересная строчка :

if(obj._x == 58 && obj._x!=60)

Думаешь всегда true будет?
Код:
obj = {x:58};
obj.addProperty ("_x", getter, null);
function getter () {
	var temp = this.x;
	this.x = 60;
	return temp;
}
if (obj._x == 58 && obj._x != 60) {
	trace (true);
} else {
	trace (false);
}
Хотя там конечно бред написан.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 24.07.2007 в 19:18.
Создать новую тему Ответ Часовой пояс GMT +4, время: 13:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.