forked from: flash on 2010-3-16

by _perfect forked from flash on 2010-3-16 (diff: 1)
♥0 | Line 43 | Modified 2010-10-21 17:59:50 | MIT License
play

ActionScript3 source code

/**
 * Copyright _perfect ( http://wonderfl.net/user/_perfect )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/bE0v
 */

// forked from hacker_kirifla's flash on 2010-3-16
package {
	import flash.display.*;
   import org.papervision3d.materials.WireframeMaterial;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.objects.primitives.Sphere;
	import org.papervision3d.view.BasicView;
	import Box2D.Dynamics.b2Body;
	import Box2D.Dynamics.b2BodyDef;
	import Box2D.Dynamics.b2World;
	import Box2D.Common.Math.b2Vec2;
	import Box2D.Collision.Shapes.b2CircleDef;
	import Box2D.Collision.Shapes.b2PolygonDef;
	//box2d
	import com.actionsnippet.qbox.*;
    public class FlashTest extends MovieClip {
    	
    	private var WORLD_SCALE:Number = 30;
		private var WIDTH:Number = 640;
		private var HEIGHT:Number = 480;
		private var world:b2World;
        public function FlashTest() {
        	var bv:BasicView=new BasicView();
        	addChild(bv);
            // write as3 code here..
			//
			var sim:QuickBox2D = new QuickBox2D(this);
			sim.start();
			sim.mouseDrag();
			//
			var o:QuickObject = sim.addCircle({ x:4, y:6, radius:5 } );
			//o.body.m_userData = plane;
			var radius:Number = Math.random() * 50 + 10;
 
				var bodyDef:b2BodyDef = new b2BodyDef();
				//random position toward the top of the stage
				bodyDef.position = new b2Vec2(Math.random() * WIDTH / WORLD_SCALE, Math.random() * 50 /WORLD_SCALE);
 
				var body:b2Body = world.CreateBody(bodyDef);
 
				var shapeDef:b2CircleDef = new b2CircleDef();
				shapeDef.radius = radius/WORLD_SCALE;
				shapeDef.density = 1;
				shapeDef.friction = .7;
				shapeDef.restitution = .7;
				body.CreateShape(shapeDef);
				body.SetMassFromShapes();
 
				var sphere:Sphere = new Sphere(null, radius);
 
				bv.scene.addChild(sphere);
				body.m_userData = sphere;
			//
			bv.startRendering();
        }
    }
}