*   >> Чтение Образование Статьи >> science >> programming

AS3IsoLib Учебник серии - Camera

<р> Играть демо

<р> Загрузить исходный код ИСТОЧНИК

<р> Возврат к учебнику ИНДЕКС

<р> Общая концепция в 3D-приложениях, что из камеры. Камера обычно подвижный объект, который может быть расположен в месте, что позволяет сцена следует рассматривать под разными углами, без необходимости изменить положение объектов в пределах сцены. В as3isolib класс IsoView реализует функциональность камеры, что позволяет просматривать сцену с разных позиций.

<Р> Main.mxml

<р> Сцена создается так же, как это было раньше.


 защищенная функция appComplete (): пустота {вар spriteContainer: SpriteUIComponent = новый SpriteUIComponent (); this.addChild (spriteContainer); Сцена = новый IsoScene (); <р> Вместо добавления сцену с применением Flex сразу, мы вместо того, чтобы создать объект IsoView и добавьте сцену к нему с помощью функции addScene 

 Вид = новый IsoView. (); view.addScene (сцена); <р> Мы отключить IsoView вырезку (где объекты за пределами зрения сцены не обращается) и границы, а затем отображать его, добавив его в детстве в SpriteUIComponent 

<. PRE> view.showBorder = ложь; view.

clipContent = ложь; spriteContainer.addChild (вид); <р> прыгающий окно с последнего урока создается снова, так у нас есть что-то, чтобы посмотреть

 box1 = новый IsoBox (). box1.setSize (75, 75, 75); box1.moveTo (0, 0, 50); scene.addChild (box1); TweenMax.to (box1, 2, {г: 0, йо-йо: правда, повторяю: -1}); this.addEventListener (Event.ENTER_FRAME, enterFrame); <р> Для того, чтобы переместить «камера» над изометрической сцены мы должны слушать в течение трех событий мыши. Первый, когда мышь нажата.

Здесь мы устанавливаем переменную пан правда, что мы будем использовать позже, чтобы указать, что пользователь хочет, чтобы панорамирование камеры на сцене

 this.addEventListener (MouseEvent.MOUSE_DOWN, функция (событие:. MouseEvent): пустота {пан = TRUE;. <р> Мы также должны сделать к сведению позицию курсора мыши, когда кнопка была нажата Это потому, что движение камеры базируется движение от относительного движения мыши между кадрами . Однако класс MouseEvent не держать след этого относительного движения, а только поставляет абсолютную позицию мыши.

При хранении положение мыши в lastX и ласты переменных, мы можем определить относительное движение мыши между кадрами.

 lastX = event.stageX; Ласты = event.stageY;});. <р> Когда мышь освобожден, мы хотим, чтобы остановить панорамирование камеры, так пан установлен в ложь 

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.