Tips & Tricks 2
1. Быстрое получение значения после запятой.
-
public function getDecimal($value : Number) : Number {
-
return $value - ($value>> 0);
-
}
2. Что бы не было проблем с получением DisplayObject'а после использования myMovieClipHolder.gotoAndStop(). Используйте Event.ENTER_FRAME, до того как событие отработает один раз. Использование MovieClip распространено в многоязычных версиях сайтов, сделав лэйблы: ru, en, ua.
-
private function onChangelanguage(e : Event) : void {
-
if(_k> 0){
-
this.removeEventListener(Event.ENTER_FRAME, onChangelanguage);
-
registerMC();
-
}
-
_k++;
-
}
3. Являюсь ярым поклонником TweenLite разрабатываемого Jack Doyle. Не так давно, проект стал платформой для программной анимации, и легко расширяется плагинами. Я с вами поделюсь двумя плагинами, один из которых я использую в 40% всех программных анимаций - AutoDeletePlugin. ShortRadianRotationPlugin - позволяет работать с радианами, как это сделано в Alternativa 3D. AutoDeletePlugin - применяется только для DisplayObject. По завершению анимации, больше не нужно использовать onComplete, что бы удалить DisplayObject.
4. Быстрый и удобный, но не самый надежный способ убрать интерактивность с элементов интерфейса. Допустим есть некая форма, элементы которой содержатся в одном контейнере, пусть он будет называться formHolder.
-
private function toggleForm($state : Boolean) : void {
-
formHolder.mouseChildren = $state;
-
}
Главный минус такой реализации, что необходимо следить за теми элементами интерфейса, которые требуют игнорирования событий от мыши. К примеру лейблы на кнопках, если таких элементов нет, то можете использовать этот метод смело. Так же можно дать понять пользователю, что форма действительно неактивная, добавив одну строчку кода:
-
private function toggleForm($state : Boolean) : void {
-
formHolder.mouseChildren = $state;
-
formHolder.alpha= ($state) ? 1 : 0.6;
-
}
5. Разрабатывая Pure AS3 проект, вы не сможете использовать «плюшку» Flash Player 10 для работы с текстом. Так как новый фреймворк для работы с текстом использует совсем другой тип встроенного текста, обычный встроенный текст в проекте имеет тип EMBEDDED, когда необходим EMBEDDED_CFF. Решить эту проблему сможет лишь новый Flex SDK 4 версии с расширенным метатэгом Embbed. Но учтите, шрифт будет встроен дважды.

$value – int($value) в два с лишним раза быстрее, чем $value – ($value>> 0)
Комментарий от zh. — 08/07/2009 @ 16:40
Да, быстрее, но не в два с лишним раза…
При 100000000 итераций, разница ~40мс.
1934
1976
Комментарий от Nicolas Prof — 11/07/2009 @ 14:11