![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 99
|
Передать параметры в обработчик события.
Скрипт грузит небольшие фотки (75*75, миниатюры) с сайта, как только фотка загрузилась, то создаётся bmpd: BitmapData, в нём рисуется фотка, потом содаётся var bmp:Bitmap=new Bitmap(bmpd) и tmp_mc:MovieClip. Далее tmp_mc становится слушателем события MouseEvent.CLICK и когда оно наступает, то сдвигается вправо (и он сдвигается). После этого код tmp_mc.addChild(bmp) этим я добавляю фотку к мувиклипу. Далее addChild(tmp_mc) чтобы мувик был виден. Такие образом: один мувик это одна фотка. Сайт хранит одну фотку в разных разрешениях. Короче на экране пользователь увидит миниатюры фоток, кликнув по которым откроется фотка в более высоком разрешении. Нужно чтобы при клике мышью по мувику, в центре экрана создавалось поле, в него загружалась фотка более высокого разрешения. Для этого надо чтобы при создании мувика ему было присвоено свойство tmp_mc.image_url = "http://site.ru/image_big_4.jpg" (четыре это номер фотки). Вот как раз передать строку image_url в обработчик события неполучается. var tf:TextField = new TextField(); tf.x = 100; tf.y = 10; tf.autoSize = "left"; tf.text = "testsdfwefwef"; addChild(tf); var q:Number = 0; function onLoadAva(e:Event) : void { //var loaderInfo:LoaderInfo = e.target as LoaderInfo; //var dispObj:DisplayObject = loaderInfo.content; var bmpd:BitmapData = new BitmapData (e.target.content.width, e.target.content.height,false); bmpd.draw(e.target.content,null,null,null,null,true); var bmp:Bitmap=new Bitmap(bmpd); bmp.width=75;bmp.height=75; bmp.smoothing=true; bmp.pixelSnapping = PixelSnapping.ALWAYS; tf.text = String(e.target.content); var tmp_mc:MovieClip = new MovieClip(); tmp_mc.addEventListener(MouseEvent.CLICK, function (e:Event):void { e.target.x+=50; tf.text = tmp_mc.x.toString(); /*var canvas:Sprite = new Sprite(); canvas.graphics.lineStyle(5, 0xFFD700, 1, false, LineScaleMode.VERTICAL, CapsStyle.NONE, JointStyle.MITER, 10); canvas.graphics.moveTo(e.target.x, e.target.y); canvas.graphics.lineTo(e.target.width, e.target.y); addChild(canvas);*/ }); tmp_mc.addChild(bmp); tmp_mc.x = 100*q; tmp_mc.y = 40; tmp_mc.width=75;tmp_mc.height=75; //tmp_mc.scaleX=0.75;tmp_mc.scaleY=0.75; tmp_mc.graphics.lineStyle(1, 0x000000, 1); tmp_mc.graphics.lineTo(tmp_mc.width, 0); tmp_mc.graphics.lineTo(tmp_mc.width, tmp_mc.height); tmp_mc.graphics.lineTo(0, tmp_mc.height); tmp_mc.graphics.lineTo(0, 0); addChild(tmp_mc); q = q+1; //tf.text = "q="+q+"\r"; } for (var i:Number = 0; i <= 10; i++) { var image_url:String = "http://site.ru/image_big_"+i+".jpg"; var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadAva); loader.load(new URLRequest(image_url)); }; Последний раз редактировалось zemozes; 11.07.2010 в 07:52. |
![]() |
Часовой пояс GMT +4, время: 22:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|