В подобных случаях я считаю, что хорошим способом решения проблемы является создание статически доступного класса, который управляет экземплярами других классов, которые зарегистрированы в нем при создании экземпляра.В качестве примера ...
public class GlobalStopper{
private static var clips:Array = [];
public static function add(mc:MovieClip):void{
clips.push(mc);
}
public static function stop():void{
var mc:MovieClip;
for(var i:int = 0, ilen:int = clips.length ; i < ilen ; i++){
mc = clips[i] as MovieClip;
if (mc) mc.stop();
}
}
}
и ...
public class GloballyStoppableMovieClip extends MovieClip{
public function GloballyStoppableMovieClip(){
GlobalStopper.add(this);
}
}
Все экземпляры GloballyStoppableMovieClip мгновенно регистрируются в GlobalStopper, поэтому вызывается
GlobalStopper.stop();
... остановит все зарегистрированные видеоклипы.
Вы можете добавить любые другие функции, которые вы хотите.Кроме того, вместо добавления принять экземпляры MovieClip вы могли бы разрешить ему принимать объекты IStoppable или IPlayable, которые реализуют публичные функции stop () и play (), которые ваш подкласс movieclip (или объект не-movieclip, который также может нуждаться в остановке и воспроизведении!)затем реализует.
А что касается jQuery-подобных селекторов?Не совсем так, как я бы справился с этой конкретной проблемой.