Как стать автором
Обновить

Вселенная Away3d — Эпизод 2: В начале было....#000000

Время на прочтение2 мин
Количество просмотров1.6K
Освоение Away3d мы продолжим создав первый проект с трехмерным пространством и объектом внутри.

Откроем Flex Builder, в котором уже должна быть открыта библиотека Away3dFP10, и создадим новый ActionScript Project away3d_prj01_world.


Настроим проект под компиляцию для 10-го флеш плеера, как это было описано в предыдущей статье (в следующих статьях я уже не буду возвращаться к настройке проектов) и уберем галочку с Generate HTML wraper file (запуск в плеере быстрее чем в браузере).
Теперь еще добавим библиотеку Away3dFP10 в Library path:

Немного подправим код, добавив метадату для компиляции swf, установив размеры 600 на 400, фреймрейт 31, и цвет бекграунда черный, основной класс будет теперь выглядеть вот так:
package {
 import flash.display.Sprite;
 
 [SWF (width="600",height="400",frameRate="31",backgroundColor="0x000000")]
 public class away3d_prj01_world extends Sprite
 {
  public function away3d_prj01_world()
  {
  }
 }
}


После всех приготовлений можем наконец запустить, и если все было правильно, увидеть черное окно в открывшемся флеш плеере.
Улучшим ситуацию добавив сферу. Любое построение трехмерного мира в Away3d начинается с создания объекта View3D и добавления (addChild) в Display list — это по-сути окно через которое вы смотрите, в построенный вами мир. Выставляем view в середину экрана. Далее создается объект Scene3D и определяется как свойство объекта класса View3D — это и есть на самом деле фундамент трехмерного мира Away3d. И наконец создается объект Sphere и добавляется (addChild) в объект класса Scene3D. Потом коммандуем чтобы view визуализировала (отрендерила) мир. В результате мы увдим сферу в середине окна со случайно заданным цветом.

Финальный код:
package {
 import away3d.containers.Scene3D;
 import away3d.containers.View3D;
 import away3d.primitives.Sphere;
 
 import flash.display.Sprite;
 
 [SWF (width="600",height="400",frameRate="31",backgroundColor="0x000000")]
 public class away3d_prj01_world extends Sprite
 {
  private var view:View3D;
  private var sphere:Sphere;
  
  public function away3d_prj01_world()
  {
   view=new View3D;
   addChild(view);
   
   // set view postion
   view.x=300;
   view.y=200;
   
   var scene:Scene3D=new Scene3D;
   view.scene=scene;
   
   sphere=new Sphere;
   scene.addChild(sphere);
   
   // lets visualyze
   view.render();
  }
 }
}

Работающий пример
Исходники
Теги:
Хабы:
+5
Комментарии0

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн