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

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

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

Регистрация: Mar 2013
Сообщений: 157
По умолчанию Узнать путь к изображению

Здравствуйте,

Подскажите можно ли как то решить мою задачу. Есть мувик, в который добавлен объект Loader ( загружал изображение и добавил его в мувик).
Задача такая, необходимо при клике на мувик узнать путь к изображению. Возможно ли это реализовать используя taeget или currentTarget.

Куда копать дальше

Код AS3:
private  function clickBuilding(e:MouseEvent):void
	{	
		var _mcClip:MovieClip = new MovieClip();
		     _mcClip = e.currentTarget as MovieClip;
        }

Старый 22.07.2013, 02:06
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 2  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Зачем Вам путь? Мне кажется Вы недавно перешли из AS2 на AS3, в первом из которых путь играл очень важную роль.
__________________
return this...

Старый 22.07.2013, 02:14
art_maestro вне форума Посмотреть профиль Отправить личное сообщение для art_maestro Найти все сообщения от art_maestro
  № 3  
Ответить с цитированием
art_maestro

Регистрация: Mar 2013
Сообщений: 157
Да, Вы верно поняли. Получается узнать путь не как мне не удастся таким способом, который я описал выше?

Старый 22.07.2013, 08:27
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 4  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Самый простой и "грязный" способ - динамически добавить свойство в ваш мувик при загрузке, в этом свойстве храните путь:
Код AS3:
movie["path"] = "http//example.com/littlepony.png"
А потом как вы написали, только
Код AS3:
private  function clickBuilding(e:MouseEvent):void
{	
    var _mcClip:MovieClip = new MovieClip();
    _mcClip = e.currentTarget as MovieClip;
    trace(_mcClip["path"]);
}
Цитата:
Есть мувик, в который добавлен объект Loader ( загружал изображение и добавил его в мувик).
Что значит в который добавлен объект Loader?
Если вы наследовали класс MovieClip и добавляли новое поле, то точно таким же способом можно добавить свойство path, и это уже будет не грязный способ, а вполне вменяемый)

Старый 22.07.2013, 11:37
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 5  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
KumoKairo тут речь немного о другом.

Цитата:
Сообщение от art_maestro Посмотреть сообщение
Да, Вы верно поняли. Получается узнать путь не как мне не удастся таким способом, который я описал выше?
Скажите что конкретно вы хотите сделать. Думаю в действительности Вам этот путь абсолютно не нужен.

Добавлено через 30 минут
Мне кажется у Вас написанно что-то подобное ( если конечно Вы пишите не в кадрах)
Код AS3:
package  {
 
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.events.MouseEvent;
 
	public class TestLoad extends Sprite {
 
		public function TestLoad() {
 
			var clip:Sprite = new Sprite();
 
			addChild(clip);
 
			 var loader:Loader = new Loader();
			 var url:URLRequest = new URLRequest("http://www.flasher.ru/forum/image.php?u=58397&dateline=1222217437");
 
			clip.addChild(loader);
 
			loader.load(url);
 
			loader.addEventListener(MouseEvent.MOUSE_DOWN, mouseHandler) ;
		}
 
		private function mouseHandler(e:MouseEvent):void {
			trace('mouse down');
		}
	}
}
Но я бы посоветовал написать вот так
Код AS3:
package  {
 
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.events.MouseEvent;
	import flash.events.Event;	
 
	public class TestLoad extends Sprite {
 
		private var clip:Sprite;
 
		public function TestLoad() {
 
			clip = new Sprite();
 
			addChild(clip);
 
			 var loader:Loader = new Loader();
			 var url:URLRequest = new URLRequest("http://www.flasher.ru/forum/image.php?u=58397&dateline=1222217437");
 
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeLoad);
 
			loader.load(url);
 
		}
 
		private function completeLoad(e:Event):void {
 
			e.currentTarget.removeEventListener(Event.COMPLETE, completeLoad);
 
			var image:Sprite = new Sprite();
				image.addEventListener(MouseEvent.MOUSE_DOWN, mouseHandler) ;
				image.addChild(e.currentTarget.content);
 
			clip.addChild(image);
 
			trace('load complete');
		}
 
		private function mouseHandler(e:MouseEvent):void {
			trace('mouse down');
			trace('Clip Conteiner' + clip);
			trace('Image ' + e.currentTarget);
		}
	}
 
}
В таком случае у вас при выполнении mouseHandler имеет Ваши искомые пути,
1 - clip - контейнер, для удаления, добавления элементов
2 - e.currentTarget - спрайт с изображением по которому осуществился клик.
__________________
return this...


Последний раз редактировалось AlexCooper; 22.07.2013 в 12:10.
Старый 22.07.2013, 16:16
art_maestro вне форума Посмотреть профиль Отправить личное сообщение для art_maestro Найти все сообщения от art_maestro
  № 6  
Ответить с цитированием
art_maestro

Регистрация: Mar 2013
Сообщений: 157
Спасибо, разобрался!

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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