AS3: GreenSock Loader (speziell XMLLoader)

GreenSock bietet primär natürlich Tweening-Krams. Aber auch die Loader sind nicht schlecht – wenn man damit zurecht kommt, dass sie mehr als nur Laden können. Der VideoLoader bsplw. ist quasi auch ein Video-Player.

Ähnlich der XMLLoader: Der lädt erst mal eine XML, aber darüber hinaus parst er diese XML und erzeugt & startet alle darin in der entsprechenden Syntax definierten Loader. Per default! Dazu zwei Anmerkungen:

  • das Flag, um dieses Verhalten zu deaktivieren, lautet integrateProgress
  • in der XML definierte Loader werden nur dann erzeugt, wenn ihre Klasse bekannt ist. Um eine Klasse bekannt zu machen (zu “aktivieren”), gibt es bsplw. LoaderMax.activate()

In Kombination führt dies zu echt mies zu findenden Bugs: “Normalerweise” kenne ich an der Stelle, an der die XML geladen wird, nur den XMLLoader – denn der lädt die XML. Das heißt, in der XML definierte XMLLoader werden immer erzeugt und ausgeführt, denn integrateProgress ist per default true. Alle anderen in der XML definierten Loader werden zwar theoretisch ebenfalls erzeugt, aber nur, wenn ihre Klassen bekannt sind (sie “aktiviert” wurden)! Fügt man in einen jahrealten (sic!) Prozess einen XMLLoader in eine XML ein, dann wird der (und nur der) plötzlich ausgelöst… unschön.

HTH.