Я должен согласиться с идеей, что использование кода временной шкалы является плохой идеей .
Теперь, переходя к вашему коду, трудно точно знать, не зная, какой родительский классделает.
Я предполагаю, что вы используете пример кода FLARToolKit.Я бы поступил так, как @Adam Harte показывает вам в своем ответе, плюс изменил класс PV3DARApp так, чтобы вы немного приспосабливались.
Поскольку в моей книге вся идея плохая, я не буду беспокоитьсясделайте все правильно, просто предложите быстрые изменения.
В PV3DARApp сделайте _markerNode общедоступным:
//protected var _markerNode:FLARBaseNode;
public var _markerNode:FLARBaseNode;
В PV3DARApp и ARAppBase измените метод init с защищенного на общедоступный:
public function init(cameraFile:String, codeFile:String, canvasWidth:int = 320, canvasHeight:int = 240, codeWidth:int = 80):void {
Тогда это должно выглядеть примерно так:
import flash.events.Event;
import org.papervision3d.objects.parsers.DAE;
var _earth:DAE;
var _holder:PV3DARApp = new PV3DARApp;
function _onInit(e:Event):void {
_earth = new DAE();
_earth.load('model/minecraft.DAE');
//_earth.addEventListener(Event.OPEN,imageLoaded);
_earth.scale = 1.5;
_earth.rotationX = 90;
_holder. init('Data/camera_para.dat', 'Data/flarlogo.pat');
//_markerNode.addChild(_earth);
_holder._markerNode.addChild(_earth);
//addEventListener(Event.ENTER_FRAME, _update);
}
function imageLoaded(e:Event):void { trace("HOLA"); }
function _update(e:Event):void {
_earth.rotationZ -= 1;
}
addEventListener(Event.INIT, _onInit);
init('Data/camera_para.dat', 'Data/flarlogo.pat');