Доброго!
Ранее никогда не пробовал писать код с обращением к родителю
Что хочу: диспатчить событие в определённый мувик из тела body в Nape.
тут происходит столкновение, я хочу отправить событие в родительский класс,в котором был создан body

Код AS3:
private function defoltCollision(cb:PreCallback):PreFlag
{
if ((cb.int1.castBody.velocity.y > 0) && (Math.abs(cb.int1.castBody.position.y - cb.int2.castBody.position.y) > 30))
{
stage.dispatchEvent(new UserEvent(UserEvent.COLLISION_GROUND_UNIT, true, false));
cb.int1.castBody.velocity.y *= -1;
cb.int2.castBody.parent.dispatchEvent(new UserEvent(UserEvent.KILL_UNIT, true, false));
}
return PreFlag.IGNORE_ONCE;
}
тут его принимаю.
unit - это экземпляр класса, в котором создан экземпляр Body

Код AS3:
public function KillGroundUnit(_unit:MovieClip)
{
unit = _unit;
}
override public function init(e:Event):void
{
super.init(e);
this.addEventListener(Event.ENTER_FRAME, updateClip);
unit.addEventListener(UserEvent.KILL_UNIT, killUnit);
unit.addEventListener(UserEvent.REVIVAL_UNIT, revivalUnit);
}
ну разумеется не заработал, вот и думаю, как этакое реализовать
Добавлено через 1 час 34 минуты

Код AS3:
cb.int2.castBody.parent.dispatchEvent(new UserEvent(UserEvent.KILL_UNIT, true, false));
ошибка вылезает тут, т.к. нету parent у Body, вариантов вижу несколько, но всё костыли, которые на выходе выдают, что в несколько классов могут менять один и тотже параметр, что совсем не хорошо, вот хотел через события, дабы избежать зависимостей, но увы
Добавлено через 1 час 36 минут

Код AS3:
public class GroundUnits extends ParentCommon
{
private var body:Body;
private var timer:Timer = new Timer(Math.random() * 4000);
public function GroundUnits()
{
body = new Body(BodyType.KINEMATIC);
body.shapes.add(new Polygon(Polygon.box(35, -35)));
body.align();
body.userData.tempSpeed = 0;
timer.addEventListener(TimerEvent.TIMER, timerUpdateTempSpeed);
timer.start();
}
я, наивно, предполагал, что раз экземпляр Body создаётся в каком либо классе, то он и будет его родителем.