Скачал Box2D 2.1а, пытаюсь откомпилировать демки - выдаёт кучу ошибок такого типа: "A file found in a source-path must have the same package structure ", as the definition's package, 'General'. Я вроде бы всё делал по ReadMe - подключил к проекту исходники Box2D, скопировал все файлы с кодом демо в проект, установил Main.as приложением по умолчанию.
Наверное, нужно было начинать с того, что я никогда до этого не использовал сторонние библиотеки и мне всегда хватало одного package, так что я не умею ими пользоваться. Поясните, пожалуйста, что я делаю неправильно?
Добавлено через 20 часов 9 минут
В общем, написал я что-то вроде Hello, world! в Box2D с учётом изменений в новой версии - но оно не работает. Т.е. ошибок и креша нет, но выводит чистый экран, и координаты объекта не меняются.

Код AS3:
package {
import Box2D.Collision.Shapes.b2CircleShape;
import Box2D.Collision.Shapes.b2MassData;
import Box2D.Collision.b2AABB;
import Box2D.Common.Math.b2Vec2;
import Box2D.Dynamics.b2Body;
import Box2D.Dynamics.b2BodyDef;
import Box2D.Dynamics.b2Fixture;
import Box2D.Dynamics.b2FixtureDef;
import Box2D.Dynamics.b2World;
import flash.display.Sprite;
public class TestBox2D extends Sprite
{
public function TestBox2D()
{
var worldb2AABB:b2AABB = new b2AABB();
worldb2AABB.lowerBound.Set(-100.0, -100.0);
worldb2AABB.upperBound.Set(100.0, 100.0);
var gravity:b2Vec2=new b2Vec2(0.0, -10.0);
var doSleep:Boolean=true;
var world:b2World=new b2World(gravity, doSleep);
var groundBodyDef:b2BodyDef=new b2BodyDef();
groundBodyDef.position.Set(0.0, -10.0);
var groundBody:b2Body =
world.CreateBody(groundBodyDef);
var fd:b2FixtureDef = new b2FixtureDef();
fd.density = 1.0;
fd.shape = new b2CircleShape(5.0);
var fixture:b2Fixture = groundBody.CreateFixture(fd);
var bodyDef:b2BodyDef = new b2BodyDef();
bodyDef.position.Set(0.0, 4.0);
var body:b2Body = world.CreateBody(bodyDef);
var bodyFD:b2FixtureDef=new b2FixtureDef();
bodyFD.density=1.0;
bodyFD.friction=0.3;
bodyFD.shape=new b2CircleShape(1.0);
var bodyFixture:b2Fixture = body.CreateFixture(bodyFD);
var bodyMD:b2MassData = new b2MassData();
bodyMD.mass=0.2;
var massCenter:b2Vec2=new b2Vec2();
massCenter.x=0; massCenter.y=0;
bodyMD.center=massCenter;
body.SetMassData(bodyMD);
var timeStep:Number = 1.0 / 60.0;
var iterations:Number = 10;
for (var i:Number = 0; i < 60; ++i)
{
world.Step(timeStep, iterations, 20);
var position:b2Vec2 = body.GetPosition();
var angle:Number = body.GetAngle();
trace(position.x +','+ position.y +','+ angle);
}
}
}
}