С праздником 8 марта!
FlexiPedia Wiki on Adobe Flex
Флэш Потрошитель - Флэш & Флекс, rost[ухо]flash-ripper.comФлэш & Флекс, rost[ухо]flash-ripper.com

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

С 09.09.2002
  • Наша коллекция багов Flash
  • Ссылки для начинающего аниматора

Микроблог

Новая книга от Farata Systems со скидкой: Enterprise Development with Flex: Best Practices for RIA Developers (Adobe Dev Lib)
Rost
- 1 день
Поддержка технологий Flash платформой LiMo позволит разработчикам и поставщикам контента создавать многофункциональные приложения, которые могут запускаться на мобильных устройствах с установленной ОС Linux.
Rost
- 1 день
@andyone: почему я советую использовать в случае использования NOSQL Riak и Cassandra. Скажу о каждой.
Rost
- 1 день
@andyone: Если вы выбираете все объекты внутри другого объекта или словаря с помощью for, то используйте в качестве ключа объект.
Rost
- 1 день
@andyone: RegExp для разбора URL на составляющие
Rost
- 1 день
scrollRect рендерится быстрее маски
Rost
- 2 дня
@Develar негодует по поводу скинования во Flex 4
Rost
- 2 дня
Junik: Фильтруем ArrayCollection
Rost
- 2 дня
Поздравляем милых дам
Rost
- 5 дня
Speed up Flex Compilation!
Rost
- 2 недели
Читать все записи
Главная

vector

Первые опечатки с новым классом Vector

Если вы еще не знаете, то Vector — это новый класс во Flash Player 10. По способу использования он является типизированным массивом, о котором мечали еще флэшеры семидесятых. Vector не только типизирован, но и дает более производительный код (очевидно, его внутрення природа — не простая обертка вокруг массива). Вот статья по классу Vector для начинающих.

Понять класс Vector легко

Еще легче, чем кодироват. Пара минут может уйти на привыкание к синтаксису. Он немного сложнее, чем у массива, потому что вектор строго типизирован. Поэтому везде, где вы имеете дело с вектором, нужно после обозначения типа и точки дополнительно в треугольных скобках указать тип хранимых в векторе значений. Например, String для вектора строк:

var stringVector : Vector.<String> = new Vector.<String>();

Когда я впервые использовал Vector, то сделал синтаксические ошибки в каждом случае его применения, по привычке работал как с нетипизированным массивом. Но с векторами нужен векторный синтаксис. В этом примере две ошибки:

public function findDuplicates(text : String) : Vector
{
   var result : Vector = new Vector.<Duplicate>(); 
   ...
   return result
}

Первая ошибка исправляется указанием полного типа вектора при объявлении переменной:

 var result: Vector.<Duplicate> = new Vector.<Duplicate>(); 

Вторая исправляется указанием полного типа вектора возвращаемого результата:

 public function findDuplicates(text : String) : Vector.<Duplicate>

(в примере <Duplicate> — это тип данных вектора, тут используется собственный класс, а на его месте можеть быть int, Date и т.д.)

Дочитали до этой фразы и стало скучно, используете вектор уже восемь-десять лет? Есть информация для продвинутых вектор-юзеров в ActionScript — динамическое создание экземпляров класса Vector и тест Array vs. Vector vs. Linked list.

Дочитали досюда? Круто *-)

Твоя оценка: Нет Средняя: 3 (1 голос)
  • Rost's blog
  • 3
Пт, 02/10/2009 - 09:29 — Rost
  • as3
  • vector
  • Подсказки

Плюсы работы с большими картинками во Flash Player 10

Работа с растровыми изображаениями в FP10 имеет минимум два преимущества по сравнению с Flash Player 9: максимальный размер стал больше, а скорость стала выше.

1. Размер BitmapData увеличен c 8 до 16 мегапикселей

Во Flash Player 9 мы могли обрабатывать изображение размером 8294400 пикселей, т.е. 8 мегапикселей, что соответствует квадрату со сторонами до 2880x2880 пкс.

Во Flash Player 10 максимальный размер BitmapData не только увеличен до шестнадцатиричного 0xFFFFFF (т.е. 16777215, или 16 мпкс), что соответстует максимальному квадрату со сторонами 4095x4095 пкс, но и появилась гибкость в его использовании. Вот в чем она заключается: вы можете распределять этот максимальный размер нужным вам образом, создавая не-квадратную картинку. Т.е. теперь можно не только получить квадратную картинку размером 4095x4095, но и прямоугольную, с макcимальной длиной стороны до 8191 пкс. Главное, чтобы перемноженные длины ее сторон укладывалось в максимальное количество пикселей. Например, во Flash Player 10 возможны картинки 2048x8191 и 8191x2048. То же самое на английском у Кейта Петерса (новость уже не такая новость).

2. Класс Vector ускоряет JPEG-сжатие картинки в 2 и более раза

Для работы с большими картинками нужны быстрые алгоритмы, и здесь Flash Player 10 предлагает новый класс Vector и BitmapData.setVector(), который годится для ускорения практически любого алгоритма, активно использующего операции с массивами. Класс JPEGEncoder из состава corelib подходит под этот случай, и вот его авторы ускоряют сжатие BitmapData в JPEG. Вы можете почитать этот пост и пропробовать сами размещенную в нем демку, а также скачать обновленный класс JPEGEncoder.

Что сделали авторы класса JPEGEncoder для его ускорения:

* Использовали байтовые (bitwise) oператоры, где только можно.
* Заменили все массивы на векторы фиксированной длины.
* Использовали пред-инкремент (++i) вместо пост-инкремента (i++).
* Преобразовали (casted) к типу int все индексы доступа к векторам.

Бонус: просто пара полезных ссылок

  1. Отрисовка системных иконок в Adobe AIR.
  2. А ведь haxe можно компильнуть и под iPhone: haXe for iPhone.

Бонус 2: оператор подергивания в FP11

Говорят, что во Flash Player 11 будет оператор подергивания --i++

Твоя оценка: Нет Средняя: 3 (5 голоса )
  • Rost's blog
  • 3
Пт, 22/05/2009 - 15:39 — Rost
  • bitmapdata
  • FP10
  • jpeg
  • vector
  • Подсказки

Raven: бесплатный онлайновый векторный редактор от Aviary

Raven — free online vector editor by Aviary. Aviary, ранее выпустившие онлайновые графический редактор Aviary Phoenix и генератор паттернов Aviary Peacock, выпустили онлайновый векторный редактор Raven.

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

Примеры готовых работ — в галерее векторного редактора Raven.

Твоя оценка: Нет Средняя: 2 (6 голоса )
  • Rost's blog
  • 2
Втр, 24/02/2009 - 12:54 — Rost
  • aviary
  • design
  • flex
  • graphics
  • tools
  • vector
  • Новости
Примечания: Статус документа => в процессе ·
Статьи · Идеальный клип · Персоналии · Глоссарий (уст.) · Что делать? · К началу ↑
© 2002-2009 Ростиславр · О проекте · Подписка на новости (RSS) · α-тестировани невероятного
What is OpenID?
  • Зайти по OpenID
  • Cancel OpenID login
  • Зарегистрироваться
  • Запросить новый пароль
]]>


]]>
]]>
Flash Ripper RSS Feed
]]>
]]> Подписаться на RSS ]]>