если динамическое тело - мяч. и статическое тело, состоящее из двух шейпов в одном Боди.
при столкновение тел мое тело (динамическое) пролетает сквозь статическое тело. при этом динамическое тело тратит свою энергию на совершение работы по преодолению сопротивления статического тела.

Код AS1/AS2:
// Статическое тело:
var bodyDef_:b2BodyDef;
var polygonShape_:b2PolygonShape;
var fixtureDef_:b2FixtureDef;
var bodyLine_:b2Body;
var wallStageThickness_:Number = 3;
var ballDiameter_:Number = 20;
// init
bodyDef_ = new b2BodyDef();
bodyDef_.position.Set((_mapBase.stage.stageWidth - (wallStageThickness_ + ballDiameter_ + 10)) / METERS, _mapBase.stage.stageHeight / METERS);
bodyDef_.type = b2Body.b2_staticBody;
bodyLine_ = _mapBase.world.CreateBody(bodyDef_);
polygonShape_ = new b2PolygonShape();
fixtureDef_ = new b2FixtureDef();
//первый шейп
polygonShape_.SetAsBox(wallStageThickness_ / METERS, -450 / METERS);
fixtureDef_.shape = polygonShape_;
bodyLine_.CreateFixture(fixtureDef_);
//второй шейп
polygonShape_.SetAsArray([bodyLine_.GetLocalPoint(b2Vec2.Make(375 / METERS, 90 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(364 / METERS, 56 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(367 / METERS, 56 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(378 / METERS, 90 / METERS))]);
fixtureDef_.shape = polygonShape_;
bodyLine_.CreateFixture(fixtureDef_);
если в коде приведенном выше изменить ширину первого шейпа:

Код AS1/AS2:
polygonShape_.SetAsBox(wallStageThickness_ / METERS, -450 / METERS);
вот так вот:

Код AS3:
polygonShape_.SetAsBox(wallStageThickness_ / METERS, 450 / METERS);
// убрали "-" перед 450
то при сталкивание с этой частью моего статического тела, мяч упруго отскакивает.
ладно с этим разобрался.
но в этом же теле существует другой шейп:

Код AS1/AS2:
//второй шейп
polygonShape_.SetAsArray([bodyLine_.GetLocalPoint(b2Vec2.Make(375 / METERS, 90 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(364 / METERS, 56 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(367 / METERS, 56 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(378 / METERS, 90 / METERS))]);
fixtureDef_.shape = polygonShape_;
bodyLine_.CreateFixture(fixtureDef_);
мяч сквозь него пролетает, а надо чтобы отскакивал.
Добавлено через 1 час 25 минут
ответ:
для каждой фигуры(именно фигура, не путать с Телом = тело может состоять из нескольких фигур) нужно создавать отдельный bodyDef_ и переназначь позицию:

Код AS1/AS2:
//Статическое тело
bodyDef_ = new b2BodyDef();
bodyDef_.position.Set((_mapBase.stage.stageWidth - (wallStageThickness_ + ballDiameter_ + 10)) / METERS, _mapBase.stage.stageHeight / METERS);
bodyDef_.type = b2Body.b2_staticBody;
bodyLine_ = _mapBase.world.CreateBody(bodyDef_);
polygonShape_ = new b2PolygonShape();
fixtureDef_ = new b2FixtureDef();
// Первый шейп
polygonShape_.SetAsBox(wallStageThickness_ / METERS, 450 / METERS);
fixtureDef_.shape = polygonShape_;
bodyLine_.CreateFixture(fixtureDef_);
// Второй шейп
bodyDef_ = new b2BodyDef();
bodyDef_.position.Set(375 / METERS, 90 / METERS);
polygonShape_ = new b2PolygonShape();
polygonShape_.SetAsEdge(b2Vec2.Make(5/METERS, 0/METERS), b2Vec2.Make(-20/METERS, -20/METERS));
bodyLine_ = _mapBase.world.CreateBody(bodyDef_);
fixtureDef_.userData = "left";
fixtureDef_.shape = polygonShape_;
bodyLine_.CreateFixture(fixtureDef_);
Добавлено через 5 часов 25 минут
[quote=Silencе;1047248]если динамическое тело - мяч. и статическое тело, состоящее из двух шейпов в одном Боди.
при столкновение тел мое тело (динамическое) пролетает сквозь статическое тело. при этом динамическое тело тратит свою энергию на совершение работы по преодолению сопротивления статического тела.

Код AS1/AS2:
// Статическое тело:
var bodyDef_:b2BodyDef;
var polygonShape_:b2PolygonShape;
var fixtureDef_:b2FixtureDef;
var bodyLine_:b2Body;
var wallStageThickness_:Number = 3;
var ballDiameter_:Number = 20;
// init
bodyDef_ = new b2BodyDef();
bodyDef_.position.Set((_mapBase.stage.stageWidth - (wallStageThickness_ + ballDiameter_ + 10)) / METERS, _mapBase.stage.stageHeight / METERS);
bodyDef_.type = b2Body.b2_staticBody;
bodyLine_ = _mapBase.world.CreateBody(bodyDef_);
polygonShape_ = new b2PolygonShape();
fixtureDef_ = new b2FixtureDef();
//первый шейп
polygonShape_.SetAsBox(wallStageThickness_ / METERS, -450 / METERS);
fixtureDef_.shape = polygonShape_;
bodyLine_.CreateFixture(fixtureDef_);
//второй шейп
polygonShape_.SetAsArray([bodyLine_.GetLocalPoint(b2Vec2.Make(375 / METERS, 90 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(364 / METERS, 56 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(367 / METERS, 56 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(378 / METERS, 90 / METERS))]);
fixtureDef_.shape = polygonShape_;
bodyLine_.CreateFixture(fixtureDef_);
если в коде приведенном выше изменить ширину первого шейпа:

Код AS1/AS2:
polygonShape_.SetAsBox(wallStageThickness_ / METERS, -450 / METERS);
вот так вот:

Код AS3:
polygonShape_.SetAsBox(wallStageThickness_ / METERS, 450 / METERS);
// убрали "-" перед 450
то при сталкивание с этой частью моего статического тела, мяч упруго отскакивает.
ладно с этим разобрался.
но в этом же теле существует другой шейп:

Код AS1/AS2:
//второй шейп
polygonShape_.SetAsArray([bodyLine_.GetLocalPoint(b2Vec2.Make(375 / METERS, 90 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(364 / METERS, 56 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(367 / METERS, 56 / METERS)), bodyLine_.GetLocalPoint(b2Vec2.Make(378 / METERS, 90 / METERS))]);
fixtureDef_.shape = polygonShape_;
bodyLine_.CreateFixture(fixtureDef_);
мяч сквозь него пролетает, а надо чтобы отскакивал.
Добавлено через 1 час 25 минут
/*неверно*/
Добавлено через 5 часов 37 минут

Код AS1/AS2:
var body:b2Body; //тело
var bodyDef:b2BodyDef; //геометрические настройки тела
var bodyShapePoligon:b2PolygonShape;
var wallThickness:Number = 5; //толщина стены в пикселях
var fixDef:b2FixtureDef = new b2FixtureDef();
//right
bodyDef = new b2BodyDef(); //создаем b2BodyDef
bodyDef.position.Set(156 / METERS, 108 / METERS);
bodyShapePoligon = new b2PolygonShape();
bodyShapePoligon.SetAsArray([b2Vec2.Make(0 / METERS, 0 / METERS), b2Vec2.Make(-13 / METERS, 11 / METERS), b2Vec2.Make(-20 / METERS, 47 / METERS)]);
body = _mapBase.world.CreateBody(bodyDef);//создаем тело
fixDef.userData = "right";
fixDef.shape = bodyShapePoligon;
body.CreateFixture(fixDef);
этот код представляет треугольник. почему при таких настройках мой динамический объект сквозь него пролетает?
Добавлено через 5 часов 48 минут
в коде выше изменяем метод SetAssArray

Код AS3:
bodyShapePoligon.SetAsArray([b2Vec2.Make(10 / METERS, -10 / METERS), b2Vec2.Make(-10 / METERS, -10 / METERS), b2Vec2.Make(0 / METERS, -37 / METERS)]);
все нормально. мяч не пролетает сквозь треугольник.
а теперь повернем треугольник на 90 градусов:

Код AS3:
bodyShapePoligon.SetAsArray([b2Vec2.Make(-10 / METERS, -10 / METERS), b2Vec2.Make(-10 / METERS, 10 / METERS), b2Vec2.Make(37 / METERS, 0 / METERS)]);
мяч вновь пролетает! wtf?!