Re: [問題] 利用 loader 載入的圖片,要如何設定位置

看板Flash作者 (Dehurst)時間15年前 (2010/11/01 11:41), 編輯推噓1(1018)
留言19則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《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


11/01 12:34, , 2F
google currentTarget的第一個XD
11/01 12:34, 2F

11/01 12:35, , 3F
google的第二個就是target和currentTarget的比較喔~
11/01 12:35, 3F

11/01 12:41, , 4F
另外事件的函式必須要無回傳值,必須要是void
11/01 12:41, 4F

11/01 12:42, , 5F
也看不出來你是沒import還是怎的,沒錯誤訊息嗎?
11/01 12:42, 5F

11/01 13:11, , 6F
我直接把你的程式貼上,執行結果是正確的耶,我用CS5
11/01 13:11, 6F

11/01 16:38, , 7F
喔喔 回傳void我有加 但一樣不行... 另外,沒有error
11/01 16:38, 7F

11/01 16:38, , 8F
我是CS4...好吧,我用CS5看看~
11/01 16:38, 8F

11/01 17:25, , 9F
我解決了一個,因為jpg =/= JPG...
11/01 17:25, 9F

11/01 17:27, , 10F
然後關於我的第3個問題,我現在試著把JSON字串裡的data
11/01 17:27, 10F

11/01 17:28, , 11F
給輸出所以是loader.load(new URLRequest(data.picture));
11/01 17:28, 11F

11/01 17:28, , 12F
然後呢...又輸出不了了 除非改成pic.addChild(loader);
11/01 17:28, 12F

11/01 17:32, , 13F
而JSON字串裡的結果 data.picture我確定是個jpg圖片
11/01 17:32, 13F

11/01 17:33, , 14F
但這就沒有大小寫的問題了,但addChild(loader)又能成功
11/01 17:33, 14F

11/01 17:33, , 15F
再麻煩大家一下...謝謝
11/01 17:33, 15F

11/01 17:45, , 16F
感謝大家,剛剛被我亂試出來了,給需要的人參考
11/01 17:45, 16F

11/01 17:46, , 17F
pic.addChild(ev.currentTarget.loader);
11/01 17:46, 17F

11/01 17:47, , 18F
應該是JSON字串的問題,content或許只是個連結,因次要用
11/01 17:47, 18F

11/01 17:48, , 19F
loader將連結載入資料,這是我的想法啦 謝謝大家幫忙!
11/01 17:48, 19F
文章代碼(AID): #1CpZRC9Y (Flash)
討論串 (同標題文章)
文章代碼(AID): #1CpZRC9Y (Flash)