1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:flex="org.papervision3d.flex.*"
layout="absolute"
left="100"
creationComplete="initApp()"
>
<mx:Script>
<![CDATA[
import org.papervision3d.materials.MovieMaterial;
import org.papervision3d.cameras.FreeCamera3D;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.render.BasicRenderEngine;
import mx.core.UIComponent;
import mx.core.FlexMovieClip;
private var scene:Scene3D;
private var camera:FreeCamera3D;
private var viewport:Viewport3D;
private var renderer:BasicRenderEngine;
private var ecran:DisplayObject3D = new DisplayObject3D();
private var p:Plane;
private var ensemble3D:DisplayObject3D;
private var m:MovieMaterial;
private var parentUIC:UIComponent;
private function initApp():void
{
//------------ensemble de vision ----------------
parentUIC = new UIComponent();
addChild(parentUIC);
viewport = new Viewport3D();
parentUIC.addChild( viewport );
//--------------la camera -----------------------
camera = new FreeCamera3D();
camera.zoom = 10;
//--------------ensemble des objets--------------
ensemble3D = new DisplayObject3D("ensemble3D");
//-------------- création du plan ----------------
p = new Plane(null, 200, 200, 10, 10);
ensemble3D.addChild( p);
//------insertion du composant dans le plan-------
m = new MovieMaterial(bb,true,true,true);
m.interactive = true;
m.smooth = true;
m.oneSide = false;
p.material = m;
p.material.interactive = true;
//-----------le rendu de la scene----------------
renderer = new BasicRenderEngine();
scene = new Scene3D();
scene.addChild(ensemble3D); //-------> ensemble des objets
ecran = scene.getChildByName("ensemble3D");
addEventListener(Event.ENTER_FRAME, Timeline);
}
private function Timeline( event:Event ):void {
ecran.rotationY = this.mouseX;
renderer.renderScene( scene, camera, viewport );
}
]]>
</mx:Script>
<mx:Panel
id = "bb"
width="100" height="100"
color = "0xff0000"
backgroundColor = "0xfff000"
>
<mx:Button name="btn" label="btn 2" top = "0" />
</mx:Panel>
</mx:Application> |
Partager