Как добавить addChild в DisplayObject3d из другого класса? (Papervision3D) - PullRequest
0 голосов
/ 05 апреля 2010

Я новичок во всей сцене papervision. Для школьного задания я делаю панораму своей комнаты, используя куб с 6 картинками в нем. Он создал панораму, отлично работает.

Но теперь я хочу добавить в него кликабельные объекты. Одно из требований в том, что мой код ориентирован на ООП. Вот что я сейчас пытаюсь.

В настоящее время я получил два класса - Main.as (Здесь я делаю панорамный куб как комнату) - photoWall.as (здесь я хочу создать свой первый интерактивный объект)

Теперь моя проблема заключается в следующем: я хочу добавить ребенка в интерактивный объект из photoWall.as в мою панорамную комнату. Но он не показывает это? Я думаю, что это как-то связано с сцены. Я использую новую сцену в Main.as и в photoWall.as. Об ошибках и предупреждениях не сообщается

Это часть в photoWall. Как я хочу добавить, Мой объект (photoList):

    private function portret():void
{
    //defining my material for the clickable portret
    var material : BitmapFileMaterial = new BitmapFileMaterial('images/room.jpg');
    var material_list : MaterialsList = new MaterialsList( { front: material, back: material } );

    // I don't know if this is nessecary? that's my problem
    scene = new Scene3D();

    material.interactive = true;

    // make the clickable object as a cube
    var photoList : DisplayObject3D = new Cube(material_list, 1400, 1400, 1750, 1, 4, 4, 4);

    // positioning
    photoList.x = -1400;
    photoList.y = -280;
    photoList.z = 5000;

    //mouse event 
    photoList.addEventListener( InteractiveScene3DEvent.OBJECT_CLICK, onPress);

    // this is my problem! I cannot see 'photoList' within my scene!!!
    scene.addChild(photoList);

    // trace works, so the function must be loaded.
    trace('function loaded'); 
}

Надеюсь, вы, ребята, можете помочь мне здесь. Было бы здорово!

Спасибо

Шандор

Ответы [ 2 ]

0 голосов
/ 10 апреля 2010

Нет, я уже сделал все в другом классе. Я понял, ответ: я должен сделать этот класс displayobject3d. вот и все. все, что вы добавляете на сцену, теперь является displayobject3d.

для деталей или кода .. просто спросите.

посмотреть результат моего маленького проекта можно здесь:

http://www.sandorkerst.com/papervision/bin

0 голосов
/ 10 апреля 2010

вы должны выполнить рендеринг, прежде чем сможете что-либо увидеть.

отсутствует: viewport.startRender ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...