Render3d part1

Серія статей на тему створення "3d крутилки".
  1. Render3d Part1. Створюємо "3d крутилку" за допомогою Adobe Flash
  2. Render3d Part2. Створюємо "3d крутилку" з FlashBuilder + XML (скоро)
  3. Render3d Part3. "3d крутилка", light edition (скоро)
  4. Render3d Part4. "3d крутилка" - розмиття кадрів (скоро)

Тут повинна бути флешка. Встановіть Flash Player


Тут ми бачимо 3d-рендер персонажа з гри Машінаріум. Хто не грав раджу спробувати

Створити такий ефект можна різними способами. У цій статті ми розберемо наступні з них:

Вони дуже схожі в реалізації, різниця тільки в методі завантаження контенту (анімації), тому ми максимально докладно розберемо перший спосіб. Для створення ефекту ми будемо використовувати 3d-рендер що складається з набору картинок, завантажити рендер можна тут.

Adobe Flash Professional + набір картинок

Відкрийте новий документ ActionScript3.0 в Adobe Flash Professional. Створіть новий MovieClip і задайте йому ім'я animation. Відкрийте MovieClip animation, клікнувши по ньому два раз на панелі Library. Виберіть пункт File-> Import-> Import to Stage (Ctrl + R). У вікні виберіть першу картинку з набору картинок анімації, і натисніть ОК. Ви побачите вікно з пропозицією завантажити sequence, тобто він пропонує завантажити всі інші картинки з набору. Натискаємо Yes:

Render3d part1

Якщо ви все зробили правильно, у вас на Timeline у ​​кліпу animation повинні з'явитися всі кадри з вашої анімації, ось як це виглядає у мене:

Render3d part1

Якщо вас не влаштовує те в якому місці розмістилися картинки, або ви хочете повернути відразу всі кадри анімації, прочитайте цю статтю.

Додайте мувікліп на Stage, задайте ім'я myAnim і приступимо до написання основного коду. Написання коду для вище зазначеного ефекту розділимо на 3 частини. У першому напишемо код для нескінченного обертання. Далі допишемо шматок для повтору об'єкта мишкою. І в третій зробимо прискорення при "штовханні" миші і поступове повернення до вихідної швидкості.

Створюємо новий шар на Stage. На першому кадрі створеного шару пишемо наступний код: