Вы можете сделать это на основе модификации предложения OXMO456. Поскольку вас беспокоят уведомления, основанные на их положении на сцене, а не на том, что они являются родителями, вы можете просто кэшировать и сравнивать «глобальные» координаты и запускать их при изменении.
полезных способов узнать:
localToGlobal
globalToLocal
public class Example extends Sprite{
private var stagePoint:Point = new Point(0,0);
override public function set x(value:Number):void{
super.x=value;
if(stage != null){
var globalPoint:Point = this.parent.localToGlobal(new Point(x,y));
if(globalPoint.x != stagePoint.x){
stagePoint = globalPoint;
dispatchEvent(new Event("move"));
}
}
}
override public function set y(value:Number):void{
super.y=value;
if(stage != null){
var globalPoint:Point = this.parent.localToGlobal(new Point(x,y));
if(globalPoint.y != stagePoint.y){
stagePoint = globalPoint;
dispatchEvent(new Event("move"));
}
}
}
}
РЕДАКТИРОВАТЬ: Ой, подождите, я думаю, что я неправильно истолковал то, что вы просили, дох! Я оставлю это на всякий случай, если это пригодится другим способом.
Не могли бы вы рассказать подробнее о проблеме, которую вы пытаетесь решить, выполнив это? Это может помочь нам сосредоточиться на решении, которое будет работать без накладных расходов (например, тонна зарегистрированных слушателей событий или что-то подобное)