这只是一个更大的项目的开始,但是我无法完成第一步……在Actionscript中,我下载了这个简单的教程,代码中的几乎所有内容都可以,除了以下一行:
this._baseNode.addChild(this.universe);
由于某种原因,编译器(Flash Builder)无法识别_baseNode,但其他所有元素都可以。所有库和两个.as文件均已就位。
完整的代码是下一个代码:
package {
import flash.events.Event;
import flash.events.MouseEvent;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.parsers.DAE;
import org.papervision3d.materials.shadematerials.GouraudMaterial;
import org.papervision3d.lights.PointLight3D;
[SWF(width=640,height=480,frameRate=30,backgroundColor=0x0)]
public class Alpha1 extends PV3DARApp {
private var universe:DisplayObject3D;
private var daeFile:DAE;
private var pointLight:PointLight3D;
public function Alpha1() {
this.init('Data/camera_para.dat', 'Data/marker16.pat');
}
protected override function onInit():void {
super.onInit();
daeFile = new DAE();
daeFile.load("plane.dae");
daeFile.z = 40;
daeFile.scaleY = 1.0;
daeFile.scaleZ = 1.0;
daeFile.rotationX = 90;
daeFile.rotationY = 0;
daeFile.rotationZ = 0;
/*this.pointLight = new PointLight3D(true, false);
this.pointLight.z = -1500;
this.pointLight.y = 1000;
this.pointLight.x = 1000;*/
this.universe = new DisplayObject3D();
this.universe.addChild(daeFile);
this.universe.z = -20;
this._baseNode.addChild(this.universe);
}
}
}
关于为什么会这样的任何想法?
因此,解决方案是,您可以找到一些库的版本具有_baseNode,而其他库则具有_markerNode。
这是版本之间的唯一区别,一个直接来自示例项目,另一个直接来自papervision3d网页。
该定义可在PV3DARApp中找到,只需对其进行更改即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句