[flash lite 2.0 & php]在flash lite中動態換圖片

LINEで送る
[`evernote` not found]

在flash lite中要讀入圖片有什麼辦法?
最單純就是藉由邦邦大哥寫的這個class
然後動態讀入(預設情況是在讀取一個有寫有url=”pic.jpg”的文字檔後去載入圖片):

var loader:MyLoader = MyLoader.getLoader(this);
loader.addEventListener("onLoadInit", Delegate.create(this, loader_onLoadInit));
var send_lv:LoadVars = new LoadVars(); 
var result_lv:LoadVars = new LoadVars(); 
 
result_lv.onLoad = function(success:Boolean) { 
    if (success) { 
        getPic(result_lv.url,this);
    } else { 
        trace_txt.text = "Error connecting to server."; 
    } 
}; 
 
function getPic(url:String,mov:MovieClip){
	var container:MovieClip = mov.createEmptyMovieClip("pic_" + num, 10+num);
	loader.loadMovie(url,container);
}
 
function loader_onLoadInit(evtObj:Object) {
	var pic:MovieClip = evtObj.target;
	//pic._x = 10;
}
send_lv.sendAndLoad("link_url.php", result_lv);

當然由於日本的手機有限制swf不能超出100kb(好像是docomo)
所以要載入的圖片要先算好總kb數….
而且gif檔會有問題
我是都用jpg解決…..

這方式的問題在哪?
au的手機行不通!!!!!不知道為啥?它就是不run!!!!
所以很不幸的必須找替代方案
後來發現這個方法:swf editor for php
就是利用php把已經做好的swf中的圖片換掉
比較麻煩的是server要設定一下
然後利用他寫好的查詢網頁調出swf的圖片編號
之後參考這一篇套用,結果!!
或是用我寫的function參考一下也行~

replace_swfimg("before.swf","pic.jpg",61,"after.swf");
function replace_swfimg($swf_filename,$jpeg_filename,$image_id,$res_filename){
	$swfdata = file_get_contents($swf_filename);
	$jpegdata = file_get_contents($jpeg_filename);
 
	if (! empty($alpha_filename)) {
		$alphadata = file_get_contents($alpha_filename);
	}
 
	$obj = new SWFEditor();
	if ($obj->input($swfdata) == false) {
		fprintf(STDERR, "input failed\n");
		exit(1);
	}
 
	if (empty($alphadata)) {
		$result = $obj->replaceJpegData($image_id, $jpegdata);
	} else {
		$result = $obj->replaceJpegData($image_id, $jpegdata, $alphadata);
	}
 
	if ($result == false) {
		fprintf(STDERR, "replaceJpegdata($image_id, ...) failed\n");
		exit(1);
	}
 
	if (!($fp = fopen($res_filename,'w'))) {
		return;
	}
	$size = fwrite($fp, $obj->output());
}