这只是一个更大项目的开始,但我不能完成第一步......在Actionscript中我已经下载了这个简单的教程,几乎代码中的所有东西都可以,除了1行:
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);
}
}
}
为什么会出现这种情况的任何想法?...
答案 0 :(得分:0)
所以解决方法是,你可以找到的某些库的版本有_baseNode,其他库有_markerNode。
这是版本之间唯一的区别,一个直接来自示例项目,另一个直接来自papervision3d网页。
这个定义可以在PV3DARApp找到,只需要更改它......