19 мая - Adobe CS6 Launch Party в Киеве. Регистрируемся!  
FlexiPedia Wiki on Adobe Flex
Флэш Потрошитель - Жизнь вокруг технологииЖизнь вокруг технологии

Флэш Потрошитель этот | тот | 1.0

С 09.09.2002
  • Коллекция багов Flash
  • Ссылки для начинающего аниматора
  • Flex для PHP-разработчиков
  • Как вы используете Flash?

Поток сознания

Флэшер-аноним replied on Вчера вышел Flash CS6, и это -- наш повод снова встретиться!:

давно уже конечно было ясно, но теперь с выходом новой версии флеша html5 выглядит как дополнительная функция к cs5.6))

6 дней назад

Флэшер-аноним replied on Новые, лучшие редакторы кода:

...если речь о front end. Для back end'а единственно верный выбор - текстовый редактор Midnight Commander'а :) Вообще просто хотел высказать (наверно, банальную) мысль о том, что идеальная IDE должна строиться именно на "максимально быстром" текстовом редакторе. Путь визуализации - хорошая идея, но опасная. На данный момент "визуальность" должна возникать в мозге программиста - и не понимаю, почему все так стараются перенести нагрузку с этого самого ("несчастного"?!) мозга на что-то иное :) - с помощью визуализации, прививания жёстких принципов ООП, шаблонов проектирования и т.д. Необходимо что-то более радикальное, что не будет строить железные заборы на пути свободной мысли... :)

1 неделя назад

Флэшер-аноним replied on Adobe вместе с Грантом Скиннером разрабатывает экспорт флэш-проектов из Flash CS6 в Canvas:

[URL=http://i.cx/29z7][IMG]http://i069.radikal.ru/1202/03/9f40d01e407f.png[/IMG][/URL] [b]скачать программу рыбалка 1.6 [/b] [b]скачать проигрыватели для компьютера с картинками [/b] [b]окна приветствия для windows xp скачать [/b] [b]скачать miranda русская версия [/b] [b]скачать original soundtrack driver parallel lines [/b] bb.txt open error база велкома скачать 2009 скачать пакет обновления для среды скачать бесплатную игру кто хочет стать миллионером для пк виста хом премиум скачать скачать поезд train 2008/1400 mb скачать драйвера для аудио реалтек section 8 скачать лицензионную скачать wwe legends patch скачать utorrent 1.6.1 rus visual basic 6.0 скачать скачать антихакер касперского скачать catalyst 6.2 win98 евгений немец скачать kassy 071 скачать скачать программу антропометрии http://beta.purifying.info/viewtopic.php?f=2&t=326117 http://dragonphoenix.brinkster.net/phpbb/phpbb3/viewtopic.php?f=1&t=480248 http://www.erotikapromuze.cz/viewtopic.php?f=4&t=131850 http://programaradar.com.br/forum/viewtopic.php?f=2&t=1062486 http://yfb.messageboard.nl/forum/viewtopic.php?f=1&t=59502

1 неделя назад

Флэшер-аноним replied on Вчера вышел Flash CS6, и это -- наш повод снова встретиться!:

Скачал. Посмотрел. CreateJS - фуфел, шейп твин не поддерживает, маски не поддерживает, эффекты не поддерживает и тд. В общем можно только двигать туда сюда, ну и вложенную анимацию поддерживает. К паблишу для air/android добавили пару галочек - молодцы. В общем изменений максимум на adobe flash cs5.6.

2 недели назад

Флэшер-аноним replied on Вчера вышел Flash CS6, и это -- наш повод снова встретиться!:

Вот именно сегодня очень захотелось пощупать функцию экспорта в CreateJS, а именно сегодня беты уже нет, скачать еще нельзя...

2 недели назад

Флэшер-аноним replied on Вчера вышел Flash CS6, и это -- наш повод снова встретиться!:

По правду говоря, создается впечатление, что Adobe в последнее время или зарплату подняли или кнуты менеджерам выделили. Последние версии продуктов выглядят так, будто над ними действительно работали. Обновили не только внутренности и алгоритмы, но и над внешним видом неплохо постарались.

3 недели назад

Флэшер-аноним replied on Новые, лучшие редакторы кода:

Хм, я в этом начинающий, буду знать каким редактором лучше верстать, спасибо!

3 недели назад

bimawa replied on Новые, лучшие редакторы кода:

+1 sublim`у достойная замена GVIM. Как текстовый редактор с большим комьюнити и встренным python интерпертатором, и полностью податлев на костоматизации. нет смысла сравнивать IDE с текстовым редактором. Очень удобно писать erlang программы. Есть плагин для Юнитестов.

3 недели назад

Rost replied on Новые, лучшие редакторы кода:

Кол-во строк в файле с кодом - важный параметр. Есть мнение, что оно не должно быть слишком большим. Для удобства навигации по нему.

Легковесные редакторы хороши еще и тем, что в них бытрее появляются инновации. Например, обрати внимание на мини-текст в правом верхнем углу скриншота для Sublime - по нему можно скроллить мышкой, мгновенно перемещаясь в нужное место кода.

Textastic как раз использует тачевые возможности - для этого у него есть клавиши-компасы (есть на скриншоте). Такая клавиша-компас имеет пять значений. Если просто нажать ее - сработает значение по умолчанию (символ посередине). Остальные четыре символа можно выбрать, если нажать и протянуть пальцем в сторону одного из них.

Визуальное программирование -- это очень интересная, но небанальная тема.

Ведь текст имеет иную структуру, чем изображение.

Текст - условно одномерный, линейный. Изображение - фиксированно двумерное (или фиксированно трехмерное).

Кажущаяся одномерность текста обманчива, особенно когда текст становится кодом. За счет функций (замыканий) и условных переходов текст программы становится многомерным. Даже вне программирования существуют многомерные тексты - хорошая книга может содержать внутренние указатели и ссылки на части самой себя. Поэтому текст - очень продвинутый способ работы с сознанием читателя (или компилятором).

Не вижу возможнлости проделать то же самое с изображением. У него другая природа, и визуальное программирование будет похоже на обычное так же, как графика или живопись похожа на литературу.

До сих пор попытки визуального программирования не заходили дальше имитации обычного - надергали компонентов, но потом - все равно пишем код.

Визаульное программирование - это не способ создавать код мышкой (или тачами), а способ программировать другие каналы восприятия - не аналитические (компилируемые), а эмоциональные.

Кстати, ближе всего к этому подошел флэш. Но потом его убили бизнесом, а из трупа сделали геймдев :)

Так визуальное программирование остается мечтой масс и уделом гениев-одиночек.

3 недели назад

Dan replied on Новые, лучшие редакторы кода:

Брррр... Легковесные редакторы кода хороши только для легковесных (~20 строк кода) программ. Для всего остального - Idea и FDT.

А редакторы для мобильных устройств зачем-то делают такими же, как на десктопах (у которых есть нормальная клавиатура), при этом совершенно не используя возможности тач-скринов. Думаю, через годик-два появятся наконец мобильные редакторы, где можно будет писать программу чисто жестами, без "волшебных" кнопок.

 

3 недели назад

Более старые 
Главная › Блоги › Блог Rost

roundTo() — округлить число с заданным шагом

Вчера мне в очередной раз пригодился в работе маленький кусок кода, написанный более двух лет назад, но оказавшийся полезным для многократного использования. Это функция, которая округляет число по заданному модулю:

function roundTo(value:Number, base:Number): Number
{
	return Math.floor((value + base / 2) / base) * base;
}

Эта функция помогает в ситуациях, когда нужно дискретизировать числовой ряд с определенным шагом. Например, мне вчера она пришлась впору к реализации прилипания перетаскиваемого мышью спрайта к сетке. На вход функции подаем координату мыши и требуемый шаг сетки, а на выходе получаем координату, округленную до ближайшего значения с этим шагом.

Эта функция оказалась для меня полезной уже не один раз, чего и вам желаю.

  • actionscript
  • math
  • utils
  • Подсказки
- Rost, чт, 22/01/2009 - 15:16
  • Блог пользователя Rost

Комментарии

А что делает класс Base?

agnostik (не проверено) 16:02 22/01/09

если я правильно понимаю - это основание к которому мы приводим нашу цифирь

Админ в плену у адвокатов (не проверено) 16:49 22/01/09

Сорри, конечно же тут нужен Number Smile

Rost http://flash-ripper.com/ 09:42 23/01/09
3

Йо!

Действительно просто и работает... я как-то протормозил с привязкой к сетке и "изобретал велосипед" - разбивал на квадраты и смотрел в какой квадрат мышка попадает Smile

Админ в плену у адвокатов (не проверено) 16:05 22/01/09

return Math.round(value / base) * base;

dima (не проверено) 17:13 22/01/09

самый быстрый вариант: return value - (value % base);

Const (не проверено) 19:26 22/01/09
function rost(value:Number, base:Number): Number {
   return Math.floor((value + base / 2) / base) * base;
}

function cons(value:Number, base:Number): Number {
   return value - (value % base);
}

trace (rost(17,10), cons(17,10));
trace (rost(-17,10), cons(17,10));
trace (rost(Math.PI,0.0001), cons(Math.PI,0.0001));
trace (rost(6,3.5), cons(6,3.5));
trace (rost(9,-10), cons(9,-10));

Результаты:
20 10
-20 10
3.1416 3.1415
7 3.5
10 0

Вывод: может оно и быстрее, но результаты выдаёт совсем не те.

Dan 20:54 23/01/09

Спасибо, Dan! Я хотел и сам проверить да вот уж ночь в дебаге сижу. Помог ты мне Smile

Rost http://flash-ripper.com/ 21:54 23/01/09

Пардон.
Вторая строчка должна быть такая: trace (rost(-17,10), cons(-17,10));
Но всё равно результаты не совпадают:
-20 у Роста против -10 у Конста.

Какой из вариантов правильный, зависит от того, что нам нужно.
Функция Роста (как звучит-то!) округляет до ближайшего.
Функция Конста (тоже звучно) огругляет до меньшего по модулю.

Dan 22:09 23/01/09

Быстрый да не тот. Проинетрполируйте с шагом меньшим Base увидете в чем особенности двух вариантов. Придется дописать кое-что. Плюс особенности у обоих функций в отрицательной области. Рост предложил этот вариант видимо после как раз вариаций с операцией %. Вот так...

born (не проверено) 20:49 22/01/09

born,
7- (7 % 10) = 0
17- (17 % 10) = 10
22- (22 % 10) = 20

-7- (-7 % 10) = 0
-17- (-17 % 10) = -10
-22- (-22 % 10) = -20

Const (не проверено) 05:29 23/01/09

17- (17 % 10) = 10
-17- (-17 % 10) = -10

странное какое-то округление.

Dan 14:30 23/01/09

что странного? чем то напоминает Number.toFixed()

Const (не проверено) 14:46 23/01/09

Округление - это до ближайшего целого. А у вас - до меньшего по модулю целого.
-17 как-то всё-таки ближе к -20, вы не находите?

Dan 20:39 23/01/09

Суть Snapping-а при шаге 10 сводится к такому округлению
(-5 ; 5] = 0
(5 ; 15] = 10
(-15; -5] = -10;
Только у Роста именно так и происходит.

born (не проверено) 14:57 23/01/09

так всё-таки расскажите, что же сокровенного лежит в классе Base? гы ...

BlooDHounD (не проверено) 20:54 22/01/09

Там БАЗА!
All your base are belong to us!

Dan 00:30 23/01/09

Это была опечатка Smile

Rost http://flash-ripper.com/ 09:41 23/01/09

то есть ты опечатался болие 2х лет назад?

BlooDHounD (не проверено) 10:05 23/01/09

Не, два года назад это был еще ActionScript 2, который не требовал типизации так строго, и поэтому код был нетипизирован, а вот теперь я спросонку его затипизировал с ошибками, вот так-то.

Прикольно еще то, что пока я это делал, все время думал: не опечататься бы, не проморгать бы с типизацией! В общем, умные компиляторы — это как раз для меня, чтобы все проверяли и по рукам давали сразу Smile

Rost http://flash-ripper.com/ 12:51 23/01/09

рост ... псевдотипизация в АС2 есть уже 5 лет, и 3 года ты игнорировал? больше 2х лет назад появился АС3 со строгой типизацией, что тоже должно было тебя сподвигнуть типизировать свой код Smile
ведь типизация в АС2 была не для скорости, а скорее для аккуратности, что бы самому понимать, что, где и когда. я так считаю Smile

BlooDHounD (не проверено) 13:02 23/01/09

Псевдо - это не то. Только настоящая строгая типизация помогает не думать о том, о чем можно не думать.

Кстати, сам метод может оказаться еще древнее, я ведь смотрел по дате последней модификации файла.

Пошел проверить... и нашел, что этот класс таки 2006 года. Зато по дороге откопал штуку из года 2002 с таким же названием, но немного иной функцией:

// Универсальная  функция округления числа theNumber 
//до заданного количества знаков после запятой decPlaces
MovieClip.prototype.roundTo = function (theNumber,decPlaces) {
	if (decPlaces>=0) {
		var temp=Math.pow(10,decPlaces)
		return Math.round(theNumber*temp)/temp;
	}
}

Оказывается, давно этим баловался!

Rost http://flash-ripper.com/ 14:21 23/01/09

На самом деле, я большой фанат типизации хоть в AS2 хоть в AS3, но я не идеален, вот в чем дело, так что ошибки бывают (и снова слава компилятору)!

Rost http://flash-ripper.com/ 14:25 23/01/09

Вот зануда-то!

Это не AS3, это HaXe.
Так что:
typedef Base = Number;

Dan 14:33 23/01/09
Примечания: Статус документа => в процессе ·
Статьи · Идеальный клип · Персоналии · Глоссарий (уст.) · Что делать? · К началу ↑
© 2002-2012 Ростиславр · О проекте · Подписка на RSS · α-тестировани невероятного
Что такое OpenID?
  • Войти по OpenID
  • Скрыть вход по OpenID
  • Регистрация
  • Забыли пароль?
]]>
]]>

Навигация

  • Контакт