作者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
2F:→ dsmwang:google currentTarget的第一个XD 11/01 12:34
3F:→ dsmwang:google的第二个就是target和currentTarget的比较喔~ 11/01 12:35
4F:→ dsmwang:另外事件的函式必须要无回传值,必须要是void 11/01 12:41
5F:→ dsmwang:也看不出来你是没import还是怎的,没错误讯息吗? 11/01 12:42
6F:推 sextitanic:我直接把你的程式贴上,执行结果是正确的耶,我用CS5 11/01 13:11
7F:→ hurst05:喔喔 回传void我有加 但一样不行... 另外,没有error 11/01 16:38
8F:→ hurst05:我是CS4...好吧,我用CS5看看~ 11/01 16:38
9F:→ hurst05:我解决了一个,因为jpg =/= JPG... 11/01 17:25
10F:→ hurst05:然後关於我的第3个问题,我现在试着把JSON字串里的data 11/01 17:27
11F:→ hurst05:给输出所以是loader.load(new URLRequest(data.picture)); 11/01 17:28
12F:→ hurst05:然後呢...又输出不了了 除非改成pic.addChild(loader); 11/01 17:28
13F:→ hurst05:而JSON字串里的结果 data.picture我确定是个jpg图片 11/01 17:32
14F:→ hurst05:但这就没有大小写的问题了,但addChild(loader)又能成功 11/01 17:33
15F:→ hurst05:再麻烦大家一下...谢谢 11/01 17:33
16F:→ hurst05:感谢大家,刚刚被我乱试出来了,给需要的人参考 11/01 17:45
17F:→ hurst05:pic.addChild(ev.currentTarget.loader); 11/01 17:46
18F:→ hurst05:应该是JSON字串的问题,content或许只是个连结,因次要用 11/01 17:47
19F:→ hurst05:loader将连结载入资料,这是我的想法啦 谢谢大家帮忙! 11/01 17:48