Всем привет. Недавно поставил box2d, но толком мануала не нашел. Набросал что-то, вроде такого:

Код:
import flash.display.Sprite;
import flash.events.Event;
import Box2D.Dynamics.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
addEventListener(Event.ENTER_FRAME, Update, false, 0, true);
//create world var, dimensions and gravuty
var worldAABB:b2AABB = new b2AABB();
worldAABB.minVertex.Set(-1000.0, -1000.0);
worldAABB.maxVertex.Set(1000.0, 1000.0);
var gravity:b2Vec2 = new b2Vec2(0.0, 300.0);
var doSleep:Boolean = true;
m_world = new b2World(worldAABB, gravity, doSleep);
var bodyDef:b2BodyDef;
var boxDef:b2BoxDef;
var box:b2BoxDef;
bodyDef = new b2BodyDef();
boxDef = new b2BoxDef();
boxDef.extents.Set(1000, 100);
boxDef.friction = 0.3;
bodyDef.AddShape(boxDef);
bodyDef.userData = new PhysGround();
bodyDef.userData.width = boxDef.extents.x * 2;
bodyDef.userData.height = boxDef.extents.y * 2;
bodyDef.position.Set(320, 400);
addChild(bodyDef.userData);
m_world.CreateBody(bodyDef);
//for (var i:int = 1; i < 20; i++){
bodyDef = new b2BodyDef();
// Box
boxDef = new b2BoxDef();
boxDef.extents.Set(15,15);
boxDef.density = 1.0;
boxDef.friction = 0.5;
boxDef.restitution = 0.2;
bodyDef.AddShape(boxDef);
bodyDef.userData = new PhysBox();
bodyDef.userData.width = boxDef.extents.x * 2;
bodyDef.userData.height = boxDef.extents.y * 2;
bodyDef.position.x = 100;
bodyDef.position.y = 50;
m_world.CreateBody(bodyDef);
addChild(bodyDef.userData);
//}
function Update(e:Event):void {
m_world.Step(1/31, m_iterations);
for (var cc:b2Body = m_world.m_bodyList; cc; cc = cc.m_next) {
if (cc.m_userData is Sprite) {
cc.m_userData.x = cc.m_position.x;
cc.m_userData.y = cc.m_position.y;
cc.m_userData.rotation = cc.m_rotation * (180/Math.PI);
}
}
}
var m_world:b2World;
var m_iterations:int =10;
После компиляции выдает ошибку:
1180: Call to a possibly undefined method PhysGround.
1180: Call to a possibly undefined method PhysBox.
Хотя сами библиотеки я указывал.
Может, кто знает, в чем проблема?