PageRenderTime 120ms CodeModel.GetById 19ms app.highlight 97ms RepoModel.GetById 1ms app.codeStats 0ms

/src/aerys/minko/example/core/teapots/TeapotsExample.as

https://bitbucket.org/HopeSky/mars_nd2d
ActionScript | 59 lines | 45 code | 14 blank | 0 comment | 1 complexity | 254bed1cb39aff37f31243468026b9fc MD5 | raw file
 1package aerys.minko.example.core.teapots
 2{
 3	import aerys.minko.example.core.cubes.NormalsShader;
 4	import aerys.minko.render.Effect;
 5	import aerys.minko.render.geometry.Geometry;
 6	import aerys.minko.render.geometry.primitive.TeapotGeometry;
 7	import aerys.minko.render.material.Material;
 8	import aerys.minko.scene.node.Mesh;
 9	import aerys.monitor.Monitor;
10	
11	import flash.events.Event;
12	import flash.utils.getTimer;
13	
14	
15	public class TeapotsExample extends MinkoExampleApplication
16	{
17		private static const MATERIAL	: Material	= new Material(new Effect(new NormalsShader()));
18		private static const TARGET_FPS	: Number	= 30;
19		private static const GEOMETRY	: Geometry	= new TeapotGeometry(17);
20		
21		private var _lastTime	: int	= 0;
22		
23		override protected function initializeScene() : void
24		{
25			super.initializeScene();
26			
27			viewport.backgroundColor = 0;
28			
29			_lastTime = getTimer();
30		}
31		
32		override protected function enterFrameHandler(event : Event) : void
33		{
34			var time : int = getTimer();
35			
36			if (Monitor.monitor.framerate > TARGET_FPS)
37				addTeapot();
38			
39			_lastTime = time;
40			
41			super.enterFrameHandler(event);
42		}
43		
44		private function addTeapot() : void
45		{
46			var teapot : Mesh = new Mesh(GEOMETRY, MATERIAL);
47			
48			teapot.transform
49				.appendUniformScale(0.03)
50				.appendTranslation(
51					-1 + Math.random() * 2,
52					-1 + Math.random() * 2,
53					-1 + Math.random() * 2
54				);
55			
56			scene.addChild(teapot);
57		}
58	}
59}