source: Collectif_Otra/global.reflet-web.net/lib/reflet_swf/src/display/renduTexte/BasicScene.as @ 2803

Last change on this file since 2803 was 2803, checked in by kent1, 10 years ago

Reflet presque up 2 date (reste les externals)

  • Property svn:executable set to *
File size: 3.0 KB
Line 
1package display.renduTexte
2{
3
4        import display3D.text.AnimatedText3D;
5        import flash.events.MouseEvent;
6        import org.papervision3d.typography.fonts.HelveticaRoman;
7        import org.papervision3d.view.BasicView;
8        import flash.events.Event
9        import org.papervision3d.typography.fonts.HelveticaBold
10        import com.bit101.components.HSlider
11        import de.polygonal.core.ObjectPool
12               
13               
14        public class BasicScene extends BasicView
15        {               
16                /* DEBUGGER*/
17               
18               
19                private var Z : Number = 0
20                private var setting : Boolean = false 
21                private var slider : HSlider = new HSlider(null, 0, 0, function(e:*):void { Z= slider.value } )
22               
23               
24               
25                /* -------   */
26                private var easeOut:Number = 0.6;
27                private var reachX:Number = 0.5
28                private var reachY:Number = 0.5
29                private var reachZ:Number = 0.5;
30                private var texte3D_0 : AnimatedText3D 
31               
32               
33               
34                public function BasicScene() 
35                {
36                       
37                        /*debug*/
38                        addChild(slider)
39                        slider.addEventListener(MouseEvent.ROLL_OVER,function (e:*):void{setting=true})
40                        slider.addEventListener(MouseEvent.ROLL_OUT, function (e:*):void { setting = false } )
41                       
42                       
43                        slider.minimum = 0
44                        slider.maximum = 5000
45                       
46                        /*---------*/
47                       
48                        super(640,480,true,true);
49           
50            init();
51            startRendering();
52        }
53       
54        private function init():void
55                {       
56                        //texte3D_0 = new AnimatedText3D("texte_0",scene,viewport,"Sinon, tout \n va \n b\/ien",new HelveticaBold(),0,0,Z,3)
57                       
58       
59                       
60                        PoolExample()
61        }
62       
63                private function PoolExample()
64                {
65                        var i:int;
66                       
67                        var pool:ObjectPool = new ObjectPool(false);
68                        pool.allocate(MyClass, 100);
69                        pool.initialze("init", []);
70                       
71                        var activeObjects:Array = [];
72                       
73                        //read the first object
74                        var o:MyClass = pool.object;
75                       
76                        activeObjects[0] = o;
77                       
78                        var k:int = pool.wasteCount; //99
79                       
80                        //read the remaining 99 objects
81                        for (i = 0; i < k; i++)
82                                activeObjects.push(pool.object);
83                       
84                        //wasteCount is now zero, but usageCount reports 100
85                        trace(pool.usageCount);
86                       
87                        try
88                        {
89                                //this will fail because the pool is now empty
90                                activeObjects.push(pool.object);
91                        }
92                        catch (e:Error)
93                        {
94                                trace(e);
95                        }
96                       
97                        k = pool.size;
98                       
99                        //give all objects back to the pool
100                        for (i = 0; i < k; i++)
101                                pool.object = activeObjects.shift();
102                               
103                        //usage count is zero
104                        trace(pool.usageCount); 
105                }
106               
107               
108               
109               
110        override protected function onRenderTick(e:Event = null):void
111        {       
112               
113                        if (!setting)
114                        {
115                                var xDist:Number = mouseX - stage.stageWidth * 0.5;
116                                var yDist:Number = mouseY - stage.stageHeight * 0.5;
117                               
118                                camera.x += (xDist - camera.x * reachX) * easeOut;
119                                camera.y += (yDist - camera.y * reachY) * easeOut;
120                                camera.z += (-mouseY * 2 - camera.z ) * reachZ; 
121                        }
122                        else 
123                        {
124                                camera.x = 0
125                                camera.y = 0
126                                camera.z = -1000
127                               
128                        }
129            super.onRenderTick(e);
130                       
131        }
132               
133               
134        }
135}
Note: See TracBrowser for help on using the repository browser.