Abgesehen davon finde ich deinen Code nicht schlecht, aber an dieser Stelle:Zitat
Bitmaps die du in den Cache lädst solltest du NICHT löschen sobald du damit fertig bist (das macht den ganzen Sinn des Caches kaputt), stattdessen solltest du das Sprite Objekt selbst löschen. (ansonsten wird der Sprite noch x frames weiterbearbeitet, obwohl es ihn eigentlich schon nicht mehr gibt.)
Mit anderen Worten: änder "@sprites[key].bitmap.dispose" zu "@sprites[key].dispose"
Dann sind übrigens flüssige Animationen von einem map Event aus nicht möglich, da der wait Befehl immer doppelt so lange wartet wie du angibst (ist eigentlich hirnrissig, und macht wie gesagt wirklich flüssige Animationen unmöglich...)
Deshalb muss man es eigentlich in eine der Standardklassen einbinden, wenn es wirklich irgendwas bringen soll, mMn. (Klar ist das vom Stil her nicht so toll, aber k...)