Ну в первом кадре начинаешь грузить
loadMovie ("my.swf", "_root.movik");
Второй пустой с меткой "noload"
В третьем:
if ((_root.movik._framesloaded<_root.movik._totalframes) or (_root.movik._totalframes<1)) gotoAndPlay("noload");
...ну лучше конечно не фреймы, а байты считать
Можешь ещё поискать на форуме по слову "сложный прелоадер".