Как ждать, пока модель DAE загрузится во флэш-памяти с использованием библиотек PaperVision3d? - PullRequest
0 голосов
/ 01 апреля 2011

мне нужно сделать загрузчик на флеше или простой ярлык с надписью "подождите, модель загружается". Это часть моего сценария, в котором я загружаю модель, но я не знаю, как контролировать процесс загрузки, спасибо за любую помощь.

Код:

    private function _onInit(e:Event):void {
        _earth = new DAE();
        _earth.load('model/hfarm.DAE');
        _earth.scale = 0.3;
        _earth.rotationX = 90;
        _markerNode.addChild(_earth);

        addEventListener(Event.ENTER_FRAME, _update);
    }

И весь код:

package {

    import flash.events.Event;
    import org.papervision3d.objects.parsers.DAE;

    [SWF(width=640, height=480, backgroundColor=0xCCCCCC, frameRate=30)]

    public class Earth extends PV3DARApp {

        private var _earth:DAE;

        public function Earth() {
            addEventListener(Event.INIT, _onInit);
            init('Data/camera_para.dat', 'Data/flarlogo.pat');
        }

        private function _onInit(e:Event):void {
            _earth = new DAE();
            _earth.load('model/hfarm.DAE');
            _earth.scale = 0.3;
            _earth.rotationX = 90;
            _markerNode.addChild(_earth);

            addEventListener(Event.ENTER_FRAME, _update);
        }

        private function _update(e:Event):void {
            //_earth.rotationZ -= 1
        }
    }

}

Ответы [ 2 ]

1 голос
/ 13 октября 2011

Это можно сделать.Грубый код ->

import org.papervision3d.events.FileLoadEvent;

public var SOMEDAE:DisplayObject3D;

public someFunction():void{

  SOMEDAE = new Collada('modelpath.dae',null)

  SOMEDAE.addEventListener(FileLoadEvent.LOAD_COMPLETE, function():void {           
    // post load stuff
  });

  scene.addChild(SOMEDAE);

}
0 голосов
/ 01 апреля 2011

Было бы неплохо, если бы у Papervision было событие загрузки, но я не верю в это. Модель имеет свойство .loaded, поэтому, возможно, будет полезно проверить каждый кадр, чтобы убедиться, что загрузка завершена.

...