Hi Folks Has anyone tried to insert a flex component into pv3d? And come across this quality issue or ahs someone got a working example?
Thanks again Duncan --- In [email protected], j2me_soul <j2me_s...@...> wrote: > > I got the same problem. Can anyone give some suggestion? > > > ÔÚ2009-06-23£¬duncmcm <dunc...@...> дµÀ£º > > > > > > Hi > > I have used the following code to add a flex component into a papervision > primitive in this case a plane. The flex component is added through the > papervision material then added to the plane and is interactive ok, IE I can > still click the button. But the quality of the flex button is very poor. > > Does anyone have any idea how to improve this quality?, as I desperately want > to add flex components into PV3D in my portfolio. > > Thanks > > Duncan > > Test.mxml > ========= > > <?xml version="1.0? encoding="utf-8??> > <mx:WindowedApplication applicationComplete="initPV3D();" > xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" verticalScrollPolicy="off" horizontalScrollPolicy="off"> > <mx:Script> > <![CDATA[ > import org.papervision3d.objects.primitives.Plane; > import org.papervision3d.materials.MovieMaterial; > import org.papervision3d.cameras.Camera3D; > import org.papervision3d.scenes.Scene3D; > import org.papervision3d.view.Viewport3D; > import org.papervision3d.render.BasicRenderEngine; > > private var scene:Scene3D; > private var camera:Camera3D; > private var material:MovieMaterial; > private var plane:Plane; > private var render : BasicRenderEngine; > private var viewPort : Viewport3D; > > private function initPV3D():void > > { > // create an instance of our component > // note that the component can be already present, created and displaying > // there's no need to be created now > var testComp1 : testComp = new testComp(); > > // set it's position to be out of the display area (we canno make it > // invisible nor transparent, as any visual changes would show in 3D) > // if you set the layout other than "absolute" then this might not work > testComp1.x = -1000; > > // add it to the display list > this.addChild(testComp1); > > // create the scene > scene = new Scene3D(); > > // create the camera > camera = new Camera3D(); > > // create the renderer > > render = new BasicRenderEngine(); > > // create the viewport > viewPort = new Viewport3D(); > > // set the viewport to be interactive so that our UIComponent in 3D is > interactive > viewPort.interactive = true; > > // add the viewport to the display list > this.rawChildren.addChild(viewPort); > > // create our movie material: we make it transparent and <b>animated</b> > // (if it's not animated, we won't see responsiveness on mouse or keyboard > // action nor any changes in display) > material = new MovieMaterial(testComp1, true, true); > > // set it to be interactive > material.interactive = true; > > // let's set it to be double sided > material.doubleSided = true; > > // create the plane that will hold our component > plane = new Plane(material,900,900,5,5); > > // rotate the plane a bit to appear 3D > plane.rotationY = 30; > > // add the plane to the scene's display list > scene.addChild(plane); > > // listen for the ENTER_FRAME event so that you can render our scene > addEventListener(Event.ENTER_FRAME, enterFrameEvent); > } > > private function enterFrameEvent(event:Event):void > { > render.renderScene(scene, camera, viewPort); > } > ]]> > </mx:Script> > </mx:WindowedApplication> > > TestComp.mxml > ============= > > <?xml version="1.0? encoding="utf-8??> > <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" > width="250" height="250" backgroundColor="#FFEA00"> > > <mx:Button label="Button" width="80" x="85" y="33" > click="youClicked(`button');"/> > <mx:HSlider x="10" y="78" width="230" change="youClicked('slider');"/> > <mx:CheckBox x="10" y="109" label="Checkbox" > change="youClicked(`checkbox');"/> > <mx:RadioButton x="10" y="155" label="Radio" > change="youClicked(`radioButton');"/> > <mx:Script> > <![CDATA[ > private function youClicked(text : String) : void > { > trace("youClicked: "+text); > } > ]]> > </mx:Script> > </mx:Canvas> >

