forked from: flash on 2010-3-16
forked from flash on 2010-3-16 (diff: 1)
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();
}
}
}