Box2D fun
By the way, this was forgotted/failed
♥0 |
Line 46 |
Modified 2010-04-04 23:35:33 |
MIT License
archived:2017-03-10 21:47:48
ActionScript3 source code
/**
* Copyright UncleNinja ( http://wonderfl.net/user/UncleNinja )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/7KCz
*/
//By the way, this was forgotted/failed
package {
import flash.display.Sprite;
import Box2D.Collision.b2AABB;
import Box2D.Common.Math.b2Vec2;
import Box2D.Dynamics.b2World;
import Box2D.Dynamics.b2BodyDef;
import Box2D.Dynamics.b2Body;
import Box2D.Collision.Shapes.b2PolygonDef;
public class Box2DFun extends Sprite {
private const RATIO:int=30;
private var _world:b2World;
public function Box2DFun():void {
}
public function setupWorld():void {
var worldAABB:b2AABB = new b2AABB();
worldAABB.lowerBound.Set(-100.0, -100.0);
worldAABB.upperBound.Set(100.0, 100.0);
var gravity:b2Vec2 = new b2Vec2 (0.0, -10.0);
var doSleep:Boolean = true;
_world = new b2World(worldAABB, gravity, doSleep);
var groundBodyDef:b2BodyDef = new b2BodyDef();
groundBodyDef.position.Set(0.0, -10.0);
var groundBody:b2Body = _world.CreateBody(groundBodyDef);
var groundShapeDef:b2PolygonDef = new b2PolygonDef();
groundShapeDef.SetAsBox(50.0, 10.0);
groundBody.CreateShape(groundShapeDef);
var bodyDef:b2BodyDef = new b2BodyDef();
bodyDef.position.Set(0.0, 4.0);
var body:b2Body = _world.CreateBody(bodyDef);
var shapeDef:b2PolygonDef = new b2PolygonDef();
shapeDef.SetAsBox(1.0, 1.0);
shapeDef.density = 1.0;
shapeDef.friction = 0.3;
body.CreateShape(shapeDef);
body.SetMassFromShapes();
var timeStep:Number = 1.0 / 60.0;
var iterations:Number = 10;
for (var i:Number = 0; i < 60; ++i) {
_world.Step(timeStep, iterations);
var position:b2Vec2 = body.GetPosition();
var angle:Number = body.GetAngle();
trace(position.x +','+ position.y +','+ angle);
}
}
}
}