Can anyone confirm that I am using the correct version of Away3D? I am aware of that change that is mentioned above.
I will also be using the Jiglib physics library for this project. Does anyone know of any problem areas I could face with regards to that. Thanks again On Jan 22, 7:03 pm, rocketmcm <[email protected]> wrote: > Am I right in saying that to use an older version like 2.3 I would > need to target FP9? This is not something I can do with this version > of the FLARManager and I am unwilling to compromise by dropping down > in the version of FLARManager too. > > Surely I am just missing something syntactically, no? Or my method of > implementation perhaps. > > On Jan 22, 5:55 am, Alex <[email protected]> wrote: > > > Try older version of Away3D (such as 2.3.3), maybe the problem is > > MatrixAway3D class which in older version is named as Matrix3D > > > On 1月22日, 上午6时02分, rocketmcm <[email protected]> wrote: > > > > Hey there, > > > > I can not figure out where I am going wrong below. I have downloaded > > > the demo's on both the FLARManager(to see how Away3D is implemented) > > > and the Away3D site but can not see what I am missing. > > > > What I am trying to do here is place a sphere on top of the marker. > > > This is the code I have below. > > > > FLARManager Version: latest download from site > > > Away3D version: 3.4 > > > Targeting FP10 from Flex. > > > > Code: > > > ************************************ > > > package { > > > import away3d.*; > > > import away3d.containers.ObjectContainer3D; > > > import away3d.containers.Scene3D; > > > import away3d.containers.View3D; > > > import away3d.core.render.*; > > > import away3d.materials.WireColorMaterial; > > > import away3d.primitives.Plane; > > > import away3d.primitives.Sphere; > > > > import com.transmote.flar.FLARManager; > > > import com.transmote.flar.marker.FLARMarker; > > > import com.transmote.flar.marker.FLARMarkerEvent; > > > import com.transmote.flar.utils.geom.FLARAwayGeomUtils; > > > > import examples.*; > > > > import flash.display.Sprite; > > > import flash.events.Event; > > > import flash.events.MouseEvent; > > > > import org.libspark.flartoolkit.support.away3d.FLARCamera3D; > > > > [SWF(width="640", height="480", frameRate="30", > > > backgroundColor="#FFFFFF")] > > > > public class FLARManagerExampleLauncher extends Sprite { > > > > private var fm:FLARManager; > > > private var scene:Scene3D; > > > private var view:View3D; > > > private var camera:FLARCamera3D; > > > private var ball:Sphere; > > > private var p:Plane; > > > private var activeMarker:FLARMarker; > > > private var v:Vid; > > > private var con:ObjectContainer3D; > > > private var re:BasicRenderer; > > > > public function FLARManagerExampleLauncher () { > > > initFLAR(); > > > } > > > > private function initFLAR():void{ > > > fm = new > > > FLARManager("../resources/flar/flarConfig.xml"); > > > > fm.addEventListener(FLARMarkerEvent.MARKER_ADDED, > > > onAdded); > > > > > > fm.addEventListener(FLARMarkerEvent.MARKER_REMOVED, onRemoved); > > > fm.addEventListener(Event.INIT, init3D); > > > addChild(Sprite(fm.flarSource)); > > > } > > > > private function init3D(e:Event):void{ > > > // remove init event listener > > > fm.removeEventListener(Event.INIT, init3D); > > > > scene = new Scene3D(); > > > camera = new FLARCamera3D(fm.cameraParams); > > > camera.z = -30; > > > view = new View3D({scene:scene, camera:camera}); > > > addChild(view); > > > > con = new ObjectContainer3D(); > > > scene.addChild(con); > > > > var ballMat:WireColorMaterial = new > > > WireColorMaterial(0x666666, > > > {wirecolor:0xFFFFFF}); > > > ball = new Sphere({material:ballMat, radius:18, > > > segmentsW:10, > > > segmentsH:10}); > > > con.addChild(ball); > > > > //addChild(new FramerateDisplay()); > > > this.addEventListener(Event.ENTER_FRAME, loop); > > > } > > > > private function loop(e:Event):void{ > > > trace("loop") > > > if(activeMarker != null){ > > > con.transform = > > > FLARAwayGeomUtils.convertFLARMatrixToAwayMatrix > > > (activeMarker.transformMatrix); > > > } > > > view.render(); > > > } > > > > private function onAdded(e:FLARMarkerEvent):void{ > > > activeMarker = e.marker; > > > trace("Marker Added"); > > > } > > > > private function onRemoved(e:FLARMarkerEvent):void{ > > > activeMarker = null; > > > trace("Marker Removed"); > > > } > > > } > > > > } > > > > Error printed in the console: > > > ************************************ > > > TypeError: Error #1009: Cannot access a property or method of a null > > > object reference. > > > at > > > away3d.core.math::MatrixAway3D/inverse()[U:\Global\away3d\core\math > > > \MatrixAway3D.as:649] > > > at org.libspark.flartoolkit.support.away3d::FLARCamera3D/get > > > viewMatrix()[U:\Flex Builder\FLARManager\src\org\libspark\flartoolkit > > > \support\away3d\FLARCamera3D.as:131] > > > at away3d.core.traverse::ProjectionTraverser/set view()[U:\Global > > > \away3d\core\traverse\ProjectionTraverser.as:46] > > > at away3d.containers::Scene3D/update()[U:\Global\away3d\containers > > > \Scene3D.as:211] > > > at > > > away3d.containers::Scene3D/onUpdate()[U:\Global\away3d\containers > > > \Scene3D.as:63] > > > at flash.events::EventDispatcher/dispatchEventFunction() > > > at flash.events::EventDispatcher/dispatchEvent() > > > at away3d.containers::View3D/notifySceneUpdate()[U:\Global\away3d > > > \containers\View3D.as:228] > > > at away3d.containers::View3D/render()[U:\Global\away3d\containers > > > \View3D.as:907] > > > at FLARManagerExampleLauncher/loop()[U:\Flex > > > Builder\FLARManager\src > > > \FLARManagerExampleLauncher.as:86] > > > > The launching "suspends" and opens up MatrixAway3D.as with the first > > > line of the inverse() function highlighted. > > > > I am new to Flex Builder, Away3D and the FLARManager and so it is > > > likely I will be tripping up a lot of the way when I am using this > > > stuff. > > > I would really appreciate some tips on to how I could have used what > > > information I have got here to see where I have gone wrong. This would > > > also stop me from having to annoy people on this forum in future :) > > > > I know from the debugger that "m" is null which I assume is the > > > problem (being a null object reference), I have tried to dig around in > > > the code and the docs but have not got anywhere. I think I am just not > > > using the render function correctly but I can not see any difference > > > in the way I have implemented this code and others that work. > > > > Thanks for your time.
