外部ファイルを読込む処理で、ローカルで実行する場合は絶対パス、サーバへアップした時には相対パスでデータを読み込みたい。とうい感じで処理を分けたくなる事がよくあるので、自動で判断できるような雛形を書いてみました。ドキュメントクラスです。

package
{
import flash.display.Sprite;
import flash.text.TextField;

public class DocumentRoot extends Sprite
{
public function DocumentRoot()
{
//この部分で取得
var isLocal:Boolean = (String(loaderInfo.loaderURL).split("/")[0] == "http:") ? false : true;

//表示確認
var t:TextField = new TextField();
addChild(t);
t.text = String(isLocal);
}
}
}

AS2でもチェックできる事は知ってはいましたが、isLocal = true みたいに手書きでもそんなに手間をかけず対応できてた為、ついつい後回しにしていました。他にもっと良い方法があるのかなぁ、、まぁいいや。例によって自分用メモということで。

Comments

Powered by Facebook Comments