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

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

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

Регистрация: Mar 2013
Сообщений: 157
По умолчанию Добавить MovieClip в MovieClip

Здравствйте

Не могу понять, казалось бы простая вещь, не раз это делал, но почему то не получается.

Есть два мувика, один мувик нужно добавить в другой.
Я делаю таким образом.

Код AS3:
public class CDoc extends MovieClip
{
 
public  var _mcQuest:MovieClip = new MovieClip();
public  var _mcImgList:MovieClip = new MovieClip();
 
 
private function onAddedToStage(e:Event):void
{ 					
   _mcQuest.addChild(_mcImgList);
   stage.addChild(_mcQuest);
 
stage.addEventListener(Event.ENTER_FRAME, scrollManager, false, 0, true);
}
 
public function scrollManager(e:Event):void
{		
	stage._mcQuest._mcImgList.y +=  (goY - stage._mcQuest._mcImgList.y) / 5;
 
}
 
}
onAddedToStage - вызывается в данном классе, весь код не стал писать.
Пытаюсь обратиться к объекту в scrollManager, то флеш _mcImgList не видит и пишет undefined. Подскажите пожалуйста, что я делаю не так. Как исправить эту ошибку.


Последний раз редактировалось art_maestro; 08.08.2013 в 18:04.
Старый 08.08.2013, 18:09
Котейка вне форума Посмотреть профиль Отправить личное сообщение для Котейка Найти все сообщения от Котейка
  № 2  
Ответить с цитированием
Котейка
 
Аватар для Котейка

Регистрация: Aug 2013
Сообщений: 56
При программном добавлении одного клипа в другой одноименное с ним свойство не создается автоматически. Как одним из вариантов для доступа ко вложенному клипу вы можете воспользоваться например именованием.
Код AS1/AS2:
_mcQuest.addChild(_mcImgList).name="imgList";
//
_mcQuest.getChildByName("imgList").y += 15;

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

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Эмм... А разве вообще можно на stage добавлять?

Старый 08.08.2013, 22:55
Котейка вне форума Посмотреть профиль Отправить личное сообщение для Котейка Найти все сообщения от Котейка
  № 4  
Ответить с цитированием
Котейка
 
Аватар для Котейка

Регистрация: Aug 2013
Сообщений: 56
Bletraut, а почему бы и нет? Stage наследник DisplayObjectContainer

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
А еще в любой Ваш класс можно что-нибудь добавлять. А почему нет? Они же наследники DOC!

Stage вам не какой-нибудь экземплярчик. Он Бог-Отец. Не надо засорять его выкидышами из вашего приложения. Держите свое при себе.
__________________
Reality.getBounds(this);

Старый 08.08.2013, 23:41
Котейка вне форума Посмотреть профиль Отправить личное сообщение для Котейка Найти все сообщения от Котейка
  № 6  
Ответить с цитированием
Котейка
 
Аватар для Котейка

Регистрация: Aug 2013
Сообщений: 56
Wolsh, вы не правильно расценили мое сообщение. Я конечно же ниразу не имел ввиду, что на stage нужно класть детей. Ответил лишь на вопрос, о том возможно ли это вообще. Ну а поскольку топик не об этом, то не стал заострять внимания на том хорошая это практика или плохая

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

Регистрация: Mar 2013
Сообщений: 157
Цитата:
Сообщение от Котейка Посмотреть сообщение
При программном добавлении одного клипа в другой одноименное с ним свойство не создается автоматически. Как одним из вариантов для доступа ко вложенному клипу вы можете воспользоваться например именованием.
Код AS1/AS2:
_mcQuest.addChild(_mcImgList).name="imgList";
//
_mcQuest.getChildByName("imgList").y += 15;

Точно! как то упустил этот момент. Попробую, отпишусь. Спасибо огромное!

Добавлено через 1 минуту
Цитата:
Сообщение от Wolsh Посмотреть сообщение
А еще в любой Ваш класс можно что-нибудь добавлять. А почему нет? Они же наследники DOC!

Stage вам не какой-нибудь экземплярчик. Он Бог-Отец. Не надо засорять его выкидышами из вашего приложения. Держите свое при себе.

Спасибо за совет, я обязательно это учту!

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

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

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


 


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


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