Game Development Reference
In-Depth Information
import Box2D.Dynamics.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
public class Main extends Sprite {
private var world:b2World;
private var worldScale:Number=30;
private var sphereVector:Vector.<b2Body>;
public function Main() {
world=new b2World(new b2Vec2(0,10),true);
debugDraw();
floor();
sphereVector=new Vector.<b2Body>();
for (var i:int=0; i<3; i++) {
sphereVector.push(sphere(170+i*150,410,40));
}
addEventListener(Event.ENTER_FRAME,updateWorld);
}
private function sphere(pX:int,pY:int,r:Number):b2Body {
var bodyDef:b2BodyDef=new b2BodyDef();
bodyDef.position.Set(pX/worldScale,pY/worldScale);
bodyDef.type=b2Body.b2_dynamicBody;
var circleShape:b2CircleShape
circleShape=new b2CircleShape(r/worldScale);
var fixtureDef:b2FixtureDef=new b2FixtureDef();
fixtureDef.shape=circleShape;
fixtureDef.density=2;
fixtureDef.restitution=0.4;
fixtureDef.friction=0.5;
var theSphere:b2Body=world.CreateBody(bodyDef);
theSphere.CreateFixture(fixtureDef);
return theSphere;
}
private function floor():void {
var bodyDef:b2BodyDef=new b2BodyDef();
bodyDef.position.Set(320/worldScale,465/worldScale);
var polygonShape:b2PolygonShape=new b2PolygonShape();
polygonShape.SetAsBox(320/worldScale,15/worldScale);
var fixtureDef:b2FixtureDef=new b2FixtureDef();
fixtureDef.shape=polygonShape;
fixtureDef.restitution=0.4;
fixtureDef.friction=0.5;
var theFloor:b2Body=world.CreateBody(bodyDef);
theFloor.CreateFixture(fixtureDef);
 
Search WWH ::




Custom Search