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

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

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

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
По умолчанию Не получается обратиться к потомкам подгруженного ролика.

В процессе работы приложения нужно скопировать из каждого кадра подгруженного мувика всех потомков.
При этом с первым кадром все в порядке (более менее) -- то есть правильно отображает количество потомков (текстовые поля, шейпы), и дает обратиться к каждому.
Но дальше происходит странная вещь. Количество детей прочитать можно, можно обратиться к каждому ( .getChildAt()), но везде возвращщает null.
Я в отчаянии.
Прилагаю исходник:
http://slil.ru/29544754

Собственно обращение к мувику идет в файле logic.as
вот в этом месте

Код AS3:
function isContentLoaded(event : Event):void{
        var tempClip       : MovieClip = imageLoader.content as MovieClip;
	var pageBitmapData : BitmapData;
	var i,j            : int;
 
	statusField.text = "Составление страниц";
 
	book.clear();
	while(pages.length){
	  pages.pop();
	}
 
	for(i = 0; i < tempClip.totalFrames; i++){
	  tempClip.gotoAndStop(i+1);
	  //pageBitmapData = new BitmapData(tempClip.width, tempClip.height);
	  //pageBitmapData.draw(tempClip);
	  //pages[i] = (new Bitmap(pageBitmapData));	
	  var tempSprite : MovieClip = new MovieClip(); 
	  for(j = tempClip.numChildren  - 1; j >= 0; j--){ 
	    //var tempDO : DisplayObject = tempClip.getChildAt(j)
	    trace(tempClip.getChildAt(j));
	    //  tempSprite.addChild(tempDO);
	  }
	  pages[i] = tempSprite;
	}
	book.addEventListener(Event.COMPLETE, isContentLoadedHandler);
        book.loadContent(pages); 
}

про

Код AS3:
//pageBitmapData = new BitmapData(tempClip.width, tempClip.height);
//pageBitmapData.draw(tempClip);
//pages[i] = (new Bitmap(pageBitmapData));
Что характерно, можно целиком всю страницу (кадр) скопировать в битмап... все получается. Но это не нужно.

Помогите пожалуйста. Я в отчаянии >________<

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
вариант для 10-ки

Код AS3:
function isContentLoaded(event : Event):void
{
        var tempClip: MovieClip = imageLoader.content as MovieClip;
        tempClip.stop();
	tempClip.addEventListener(Event.EXIT_FRAME, checkChildrenInFrame);
 
}
 
function checkChildrenInFrame(e:Event):void
{
         var tempClip:MovieClip = e.target as MovieClip;
 
         trace('------ current frame = ' + tempClip.currentFrame + ' ------');
         var l:int = tempClip.numChildren;
	 for(var i:int = 0; i < l; i++){
	    trace(tempClip.getChildAt(i));
	 }
 
	if(tempClip.currentFrame == tempClip.totalFrames)
	tempClip.removeEventListener(Event.EXIT_FRAME, checkChildren);
	else
	tempClip.nextFrame();
 
}
__________________
freelance | Раздор


Последний раз редактировалось derhab; 09.08.2010 в 06:40.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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