Compiling and running the class at the end of this post with Flex
4.5.0.19786 and targeting FP 10.2 fails at runtime with the latest
Away3D 3.6 trunk (rev 3126). The same class builds and runs just fine
with Flex 4.1 targeting FP 10.1.
Any idea what the problem is? Away3D doesn't seem to be compatible
with that SDK, and that also happens to be the SDK Flash CS5.5 ships
with, so it's going to be a problem there. The problem doesn't exist
with latest trunk of Away3DLite
Here are the compiler settings:
---------------
Compiler arguments:
-output
/Users/martinpaghludvigsen/Documents/workspace/Away3DTemplate/bin/
SimpleSelfContained.swf
-+flexlib=
/Users/martinpaghludvigsen/flex_sdk_4.5.0.19786/frameworks
--compiler.debug=true
--debug-password=
--compiler.source-path+=
/Users/martinpaghludvigsen/Documents/workspace/Away3DTemplate/src,
/Users/martinpaghludvigsen/Documents/workspace/Away3DLite/src,
/Users/martinpaghludvigsen/Documents/workspace/Away3D_FP10/src
--compiler.library-path+=
/Users/martinpaghludvigsen/flex_sdk_4.5.0.19786/frameworks/libs/
player/10.2/playerglobal.swc
-static-link-runtime-shared-libraries=
true
-target-player=10.2
-library-path+=
/Users/martinpaghludvigsen/flex_sdk_4.5.0.19786/frameworks/locale/
en_US
-default-size=550,400
--
/Users/martinpaghludvigsen/Documents/workspace/Away3DTemplate/src/
SimpleSelfContained.as
The runtime error:
---------------------
ReferenceError: Error #1065: Variable _init is not defined.
at away3d.core.utils::Init/getBoolean()[/Users/martinpaghludvigsen/
Documents/workspace/Away3D_FP10/src/away3d/core/utils/Init.as:114]
at away3d.containers::View3D()[/Users/martinpaghludvigsen/Documents/
workspace/Away3D_FP10/src/away3d/containers/View3D.as:591]
at SimpleSelfContained/initEngine()[/Users/martinpaghludvigsen/
Documents/workspace/Away3DTemplate/src/SimpleSelfContained.as:29]
at SimpleSelfContained()[/Users/martinpaghludvigsen/Documents/
workspace/Away3DTemplate/src/SimpleSelfContained.as:22]
My simple class:
--------------
package
{
import away3d.cameras.Camera3D;
import away3d.containers.Scene3D;
import away3d.containers.View3D;
import away3d.primitives.Sphere;
import flash.display.Sprite;
import flash.events.Event;
public class SimpleSelfContained extends Sprite
{
protected var scene : Scene3D;
protected var camera : Camera3D;
protected var view : View3D;
public function SimpleSelfContained()
{
initEngine();
initScene();
initListeners();
}
protected function initEngine() : void
{
view = new View3D();
scene = view.scene;
camera = view.camera;
addChild(view);
view.x = stage.stageWidth / 2;
view.y = stage.stageHeight / 2;
}
protected function initListeners() : void
{
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
protected function onEnterFrame(event : Event) : void
{
view.render();
}
protected function initScene() : void
{
scene.addChild(new Sphere());
}
}
}