Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Меню поверх 3Д объектов (http://www.flasher.ru/forum/showthread.php?t=123325)

3Desian 30.03.2009 18:17

Меню поверх 3Д объектов
 
Такой вопрос. Как во флэше сделать мувик поверх всего?
Есть класс PAPERVISIONobject и флэшка с Document class:PAPERVISIONobject(соответственно). В этой флэшке есть мувик, который после компиляции отображается за объектом PAPERVISIONobject, а мне нужно его поверх объекта разместить. ViewportLayer и setChildIndex работают только с DisplayObject3D объектами. Прошу помощи... :)

mre 30.03.2009 18:30

Меняйте глубину Viewport.

3Desian 30.03.2009 18:46

Если вы про ViewportLayer , то я уже пробывал. Он только с DisplayObject3D объектами работает, а у меня объект Movie Clip созданый во флэше. Может я что то не понял? Если есть возможность , то буду благодарен за пример. :)

Dimonte 30.03.2009 18:56

У вас же PV3D весь свой трехмер рендерит в какой-то контейнер, правильно? Так создайте еще один контейнер поверх.

mre 30.03.2009 18:58

ViewportLayer - наследник Sprite, его и двигайте.

3Desian 30.03.2009 19:19

Не совсем понимаю...
Повторюсь на всякий случай с кодом. :)
У меня файл Mouse3DFloor.as
Код AS3:

public class Mouse3DFloor extends Sprite
        {
 
                //for rendering
                private var scene      :Scene3D= new Scene3D();
                private var viewport  :Viewport3D=new Viewport3D(0,0,true,true);
                private var renderer  :BasicRenderEngine=new BasicRenderEngine();               
                private var camera:Camera3D = new Camera3D();
//OBJECTS
                private var planeForOrietation:Cone;
                // и бла..бла..бла.. объекты
 
                public function Mouse3DFloor()
                {
                planeForOrietation = new Cone(mat1,planeForOrietationScale,0.1,32,5);
                scene.addChild(planeForOrietation);
                Menu.addEventListener(MouseEvent.CLICK, Menu_PRESS);// при клике на объект "Menu" который во флэше
                addEventListener(Event.ENTER_FRAME,onEnterFrame);
                }
                private function Menu_PRESS(event:MouseEvent):void
                {
                        trace("You PUSH me!!!");
                }
                private function onEnterFrame(event:Event):void
                {
                renderer.renderScene(scene, camera, viewport);
                }
}

Рядом лежит файл Mouse3DFloor.fla в котором Document class: Mouse3DFloor. В нём есть объект Movie Clip с именем "Menu", который после компиляции виден за 3Д объектом.
Как тут применить Ваши советы?:)

mre 30.03.2009 19:31

Код AS3:

setChildIndex(viewport,0);


3Desian 30.03.2009 19:41

О.. Заработало.. спасибо БОЛЬШОЕ.


Часовой пояс GMT +4, время: 14:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.