Flash плавний повільний бітмапами

«Плавне повільне» рух бітмапами у Флеш

медленнодвіжущійся об'єкт під flash, що представляє собою (або містить) бітмапами. Якщо при цьому швидкість руху об'єкта мала (приріст позиції за один кадр менше 1 пікселя), то рух бітмапами «рване» - не відбувається згладжування картинки при русі.

потрібно:

досягти плавного руху бітмапами

Просте логічне міркування: якщо рух вектора плавне, а бітмапами - немає, можливо, перетворення бітмапами в вектор вирішить проблему. Як зробити з бітової картинки під flash векторний об'єкт? Просто break його apart! (Ctrl + B)! На виході отримуємо об'єкт - прямокутник з бітової заливкою. Далі всі операції над ним виконуються, як над векторним об'єктом, в тому числі і анти-алиасинг прі не-цілих значеннях координат пікселя. Помічені проблеми: при виконанні операції «Break Apart» відбувалася зміна розмірів бітмапами (отриманий прямокутник був менше. Проблема не зникне, якщо його не повернути до колишніх розмірів!

Варіант 2: пан Alexey Ivanov пропонує ставити бімапу певне перекручення (наприклад, _xscale = 100.1) і обіцяє хороший результат. Не виключено, що саме в цьому і є корінь вирішення проблеми (ми ж теж змінювали пропорції після Break Apart!)

Варіант 3: кривуватою, але робоче рішення. За мотивами робіт товариша Falkeyn. Оскільки рух рване, очевидно що воно здійснюється цілими пикселям. А що якщо використовувати два однакових бітмапами (один над іншим), нижній з яких буде рухатися з запізненням, а верхній - з випередженням, а для верхнього встановлювати прозорість в залежності від його наближення до наступного цілого значень координати?
Тобто, якщо координата НЕ ціла, наприклад, _x = 5.2, нижній бітмапами матиме координату _x = 5, а верхній - _x = 6, але при цьому буде мати прозорість (5.2-5) * 100 = 20%. Це буде імітувати анти-алиасинг.

Хмари для прикладу взято з роботи єкатеринбурзькій студії «Софтмажор» - сайт компанії «Європорт».

fla-файл в архіві описує перший варіант, інші файли відносяться до другого варіанту. У другому випадку - бітмапами, підвантажуємий ззовні.

недоліки:

  1. Перший варіант працює тільки з сьомою версією плеєра
  2. Другий варіант споживає ресурси з-за покадрового перерахунку прозорості.