взял я и написал по примеру как на с++
тут,
эффекта нет. что я делаю не так?

Код AS3:
package src.objects
{
import flash.display.MovieClip;
import Box2D.Dynamics.b2BodyDef;
import Box2D.Dynamics.b2Body;
import src.Game;
import Box2D.Collision.Shapes.b2PolygonShape;
import Box2D.Common.Math.b2Vec2;
import flash.events.KeyboardEvent;
import flash.events.Event;
public class Car extends MovieClip
{
private var line:uint;
private var body:b2Body;
public function Car()
{
this.addEventListener(Event.ADDED_TO_STAGE,init);
}
private function init(e:Event):void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN,acceleration);
}
public function create():void
{
var bodyDef:b2BodyDef= new b2BodyDef();
bodyDef.type = b2Body.b2_dynamicBody;
bodyDef.position = new b2Vec2(100 / Game.meters,100/ Game.meters);
bodyDef.fixedRotation = true;
bodyDef.userData = this;
bodyDef.allowSleep=false;
body = Model.model.world.CreateBody(bodyDef);
var polygonShape:b2PolygonShape= new b2PolygonShape();
polygonShape.SetAsBox(15/Game.meters,30/Game.meters);
body.CreateFixture2(polygonShape,1);
}
private function acceleration(e:KeyboardEvent):void
{
var desiredVel:Number =0;
var vel:b2Vec2=body.GetLinearVelocity();
switch(e.keyCode)
{
case 37:
desiredVel=-5;
break;
case 38:
break;
case 39:
desiredVel=5;
break;
case 40:
desiredVel=0;
break;
}
var velChange:Number=desiredVel-vel.x;
var force:Number=body.GetMass() * velChange / (1/stage.frameRate);
body.ApplyForce(new b2Vec2(force,0),body.GetWorldCenter());
trace(force);
}
}
}