As for static being slow in Flash... well, yeah, but by what order of magnitude? If you're accessing the static variables tens of thousands of times per frame, yeah, it may be noticeably slower than performing some other simple action the same number of times.
Not quite, it's just a global variable access.
I think using statics fucks with the preloaders as they must be loaded at start, even before any code get's executed.
I believe the static variables won't be loaded until the class that owns them is loaded.
Yes, I think you're right. I come from C++ where all statics are initialized before calling the entry point.
But with dynamic classes and that new age crap (:D), you're probably right.
Using getDefinitionByName instead of a direct reference to any class that could (in turn) reference the "Library of assets" class and load it's statics it should work fine.
(Yes, doing something like "
static var a:Class = SomeClass;", loads SomeClass' statics... I've tried!)
The only issue I see possibly arising from what you're doing is that the resources will all be initialized when Flash loads your game, and won't be cleaned up until the game closes
This depends if Flash loads the whole resource because of the Class definition (using "[Embed]..MyAsset:Class", or if it just does so when calling "new MyAsset".
Regards
-Martín