Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 11.07.2010, 07:48
zemozes вне форума Посмотреть профиль Отправить личное сообщение для zemozes Найти все сообщения от zemozes
  № 1  
Ответить с цитированием
zemozes
 
Аватар для zemozes

Регистрация: 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 в обработчик события неполучается.

Код AS3:
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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:21.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.