作者hurst05 (Dehurst)
看板Flash
標題Re: [問題] 利用 loader 載入的圖片,要如何設定位置
時間Mon Nov 1 11:40:58 2010
※ 引述《aquarianboy (高 見龍)》之銘言:
: ※ 引述《chris1281 (無言的美德)》之銘言:
: : model_area = new Sprite();
: : model_area.graphics.beginFill(0xFF0000, 0.5);
: : model_area.graphics.drawRect(0,0,512,512);
: : model_area.graphics.endFill();
: : this.addChild(model_area);
: : var _ldr:Loader = new Loader();
: : var _file:String = "test.jpg";
: : _ldr.load(new URLRequest(_file));
: : model_area.addChild(_ldr);
: 通常會幫loader加上個listener
: _ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, load_complete);
: private function load_complete(e:Event):void
: {
: var the_pic:Bitmap = e.target.content as Bitmap;
: the_pic.x = YOUR_X;
: the_pic.y = YOUR_Y;
: model_area.addChild(the_pic);
: }
不好意思借用一下這個標題
最近在寫一個類似的程式,但遇到了一些問題,以上面版主PO的方法一直無法成功
請請幫我debug下,也釐清觀念,以下是我的程式碼
var pic:MovieClip= new MovieClip();
this.addChild(pic);
var loader:Loader = new Loader();
loader.load(new URLRequest("two.jpg"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ch_size);
function ch_size(ev:Event)
{
var the_pic:Bitmap = ev.currentTarget.content as Bitmap;
pic.addChild(the_pic);
}
以上,在寫的過程遇到一些問題
1. 我Google過的結果,網路上大不份的範例的寫法都是ev.currentTarget.content
而版大卻是用ev.target.content,請問這有什麼差別,當然我兩種都試過,
都跑不出來= =
2. var the_pic:Bitmap = ev.currentTarget.content as Bitmap;
這行我只要加上去,程式跑到這行後就會終止,像是我在下面加
trace('hello'); 就不會跑出來
3. 最後是,如果我function寫成
function ch_size(ev:Event)
{
//var the_pic:Bitmap = ev.currentTarget.content as Bitmap;
pic.addChild(loader);
}
就成功了= =
然而,我的程式後面還要用到不少次這個function所以似乎一定要用抓取content
這種寫法,麻煩大家幫幫忙了!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.220.12
→ dsmwang:google currentTarget的第一個XD 11/01 12:34
→ dsmwang:google的第二個就是target和currentTarget的比較喔~ 11/01 12:35
→ dsmwang:另外事件的函式必須要無回傳值,必須要是void 11/01 12:41
→ dsmwang:也看不出來你是沒import還是怎的,沒錯誤訊息嗎? 11/01 12:42
推 sextitanic:我直接把你的程式貼上,執行結果是正確的耶,我用CS5 11/01 13:11
→ hurst05:喔喔 回傳void我有加 但一樣不行... 另外,沒有error 11/01 16:38
→ hurst05:我是CS4...好吧,我用CS5看看~ 11/01 16:38
→ hurst05:我解決了一個,因為jpg =/= JPG... 11/01 17:25
→ hurst05:然後關於我的第3個問題,我現在試著把JSON字串裡的data 11/01 17:27
→ hurst05:給輸出所以是loader.load(new URLRequest(data.picture)); 11/01 17:28
→ hurst05:然後呢...又輸出不了了 除非改成pic.addChild(loader); 11/01 17:28
→ hurst05:而JSON字串裡的結果 data.picture我確定是個jpg圖片 11/01 17:32
→ hurst05:但這就沒有大小寫的問題了,但addChild(loader)又能成功 11/01 17:33
→ hurst05:再麻煩大家一下...謝謝 11/01 17:33
→ hurst05:感謝大家,剛剛被我亂試出來了,給需要的人參考 11/01 17:45
→ hurst05:pic.addChild(ev.currentTarget.loader); 11/01 17:46
→ hurst05:應該是JSON字串的問題,content或許只是個連結,因次要用 11/01 17:47
→ hurst05:loader將連結載入資料,這是我的想法啦 謝謝大家幫忙! 11/01 17:48