« 死にっぷりスペランカーを彷彿させる忍者ゲー N Game | main | flash8とwebcamで物体認識をやってみた »
2005年08月13日
クラスをアンロードする方法
あんまりやっちゃぁいけないい気もするけれど・・・
delete _global.クラスのフルパス
で、swfに読み込まれたクラスを削除可能。基本的にflashの擬似クラスはプレイヤー内で_globalスコープに展開されるわけだけど、loadMovie等で読み込んだswfによって、使用されるクラスも_globalスコープに展開されてしまう。しかも、そのMovieをUnloadしても、_globalに残りやがる。
これは、フルフラッシュサイトで実験swfを作った場合に致命的になる場合がある。というのはクラスは最初に読み込まれた時点でロックされてしまう為。作品をloadMovieされた作品同士が同名で違うクラスを使用していたり、クラスのバージョンが違って機能に差があるときに、コンフリクトが起きる。
なので作品をアンロードするときに、その作品で使用したクラスもアンロードできるようにしないと、色々と不都合が起こる・・・ と思うのだけど誰か他にもっと安全そうな解決策って知りませんか?
投稿者 Taka : 2005年08月13日 15:17
book
bookmark
trackbacks
this entry's trackback URL:
http://www.fladdict.net/cgi-bin/mt3/mt-tb.cgi/278