package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import Box2D.Dynamics.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.Joints.*;
public class cratetest extends Sprite {
public var m_world:b2World;
public var m_iterations:int = 10;
public var m_timeStep:Number = 1/30;
public var mousePVec:b2Vec2 = new b2Vec2();
public var real_x_mouse:Number;
public var real_y_mouse:Number;
public var pixels_in_a_meter = 30;
public var worldAABB:b2AABB = new b2AABB();
public var gravity:b2Vec2 = new b2Vec2(0.0, 10.0);
public var mouseJoint:b2MouseJoint;
public function cratetest() {
addEventListener(Event.ENTER_FRAME, Update, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_DOWN, on_mouse_down);
stage.addEventListener(MouseEvent.MOUSE_UP, on_mouse_up);
worldAABB.lowerBound.Set(-100.0, -100.0);
worldAABB.upperBound.Set(100.0, 100.0);
m_world = new b2World(worldAABB, gravity, true);
//碰撞侦听
var m_contactListener=new b2ContactListener();
m_world.SetContactListener(m_contactListener);
var body:b2Body;
var bodyDef:b2BodyDef;
var boxDef:b2PolygonDef;
bodyDef = new b2BodyDef();
bodyDef.position.Set(8.5, 13.5);
boxDef = new b2PolygonDef();
var