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

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

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

Регистрация: Jul 2008
Сообщений: 42
По умолчанию Работа с Movieclip

Доброе время суток.
1. Я подгружаю swf и помещаю их в movieclip и все получившиеся movieclip'ы кладу в массив.
Код AS3:
var mc:MovieClip=MovieClip(e.target.content);
tcas_mc_arr.push(mc);
Где e.target.content это Loader. Все мувики я отображаю в "главном" кадре. Если же я пытаюсь поместить какой-то из мувиков в другом месте, то он пропадает в "главном" кадре.
Код AS3:
var tmp_tcas:MovieClip=tcas_arr[tmp_val];				
show_tcas.addChild(tmp_tcas);
Подскажите пожалуйста как этого можно избежать!

2. Создаются MovieClip'ы и им присваивается событие и имя:
Код AS3:
var btn:play_bc=new play_bc();
btn.name="some_name";
 
btn.addEventListener(MouseEvent.MOUSE_DOWN, btn_down);
main_w.addChild(btn);	
 
function btn_down(e:MouseEvent)
{
	trace(e.target.name );		
}
Но по нажатию мне выводится instance672. Подскажите пожалуйста как в этой ситуации можно получить именно то имя, что я задавал?
Заранее благодарю за помощь!

Старый 30.09.2009, 10:31
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
1.
естественно, что ты не можешь положить один объект в два разных места, для этого нужна копия этого объекта
создать ее можно, зная класс этого объекта через new
узнать/получить класс подгруженного мувика (для этого он должен иметь свой документ класс) можно с помощью getDefinition в applicationDomain загруженного мувика
Код AS3:
var mc:MovieClip = MovieClip(e.target.content);
var className:String = getQualifiedClassName(mc);
var mcClass:Class = Class(e.target.applicationDomain.getDefinition(className));
addChild(mc);//мувик, который загрузился
var mc2:MovieClip = new mcClass();//новый, такой же
mc2.x = 100;
addChild(mc2);
2.
instance672 это скорее всего имя кого-то из детей btn, на которого пришелся клик
попробуй посмотреть e.currentTarget.name

Старый 30.09.2009, 22:08
Ilut вне форума Посмотреть профиль Отправить личное сообщение для Ilut Найти все сообщения от Ilut
  № 3  
Ответить с цитированием
Ilut

Регистрация: Jul 2008
Сообщений: 42
Большое спасибо, очень помогло!

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

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

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


 


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


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