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

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

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

Регистрация: Dec 2010
Сообщений: 7
Tools Обращение к динамически созданным мувиклипами

Не совсем понятна логика AS3 при создании и работе с динамическими мувиклипами.
Есть мувиклип-класс sectionlogo, в нём есть динамически текстовы элемент logo

Код AS3:
//Обработчик XML создающий экземпляры мувиклиппа-класса "sectionlogo"
for each (var tempblock:XML in xml.links.block) {
var item = new sectionlogo();
item.x = tempblock.attribute("x");
item.y = tempblock.attribute("y");
item.logo.text = tempblock.attribute("title");
item.name="item"+String(i); //делаем имя объекту
addChild(item);
i++
}
 
///
Итак, мы создали несколько экземпляров класса.
Но как обратится к ним, не совсем понятно.
При обращении по имени, можно изменить координаты, но нельзя проследовать вглубь мувиклиппа.

Код AS3:
item.x = 666; \\ работает, изменяе координаты
item.logotext.text = "test"; \\изменяет текст вложенного объекта динамического текста logotex
getChildByName("item1").x=477 ; \\работает, изменяе координаты
getChildByName("item1").logotext.text="test" ; \\не работает, не изменяет вложенный объект динамического текста logotex
Последний вариант не работает, а именно он и нужен, обратится к экземляру по динамическому имени, и изменить вложенный в него обьект

Старый 03.12.2010, 22:14
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
А strict mode включен? Ошибка должна ж ещё кидаться... Вообще вам вродь поможет
Код AS3:
(getChildByName("item1") as sectionlogo).logotext.text="test";
потому что getChildByName возвращает DisplayObject, а у него нет logotext вашего.
Ну и там не пишите в кадрах, не используйте CSX для кода, учите as3, мойте руки перед едой ивсётакое...
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

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

Регистрация: Dec 2010
Сообщений: 7
Спаисбо, помогло, а вобше каокй самый распространённы способ работы с динамическими обьектами?

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Ну обычно их в массив или ещё куда запихивают, чтоб getChildByName не дёргать и имена не придумывать.
Код AS3:
var sectionlogos:Array = new Array();
for each (var tempblock:XML in xml.links.block) {
    var item:sectionlogo = new sectionlogo();//ОЧЕНЬ рекомендуется использовать только типизированные переменные, почему - можете погуглить
    item.x = tempblock.attribute("x");
    item.y = tempblock.attribute("y");
    item.logo.text = tempblock.attribute("title");
    addChild(item);
    sectionlogos.push(item);
}
Юзать:
Код AS3:
sectionlogos[0].logotext.text="test";
Ну и надо там про зоны видимости переменных почитать, про классы, этот sectionlogos наш скорее всего членом класса должен быть. Короче вообще чо за язык as3 и как на нём пишут)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 03.12.2010 в 22:29.
Старый 04.12.2010, 00:36
pornpunk вне форума Посмотреть профиль Отправить личное сообщение для pornpunk Найти все сообщения от pornpunk
  № 5  
Ответить с цитированием
pornpunk

Регистрация: Dec 2010
Сообщений: 7
lДа, спасибо, читаю потихоньку, только очень мало понятных вещей с прмерами получается найти. обычгно все программеры какието вещи понимают априори, тоесть как будто так и должно быть, а мне ка кдизайнеру котоырй перехожит со второго на третий as оч сложно некоторые вещи понять, например что это за документ класс такой)

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

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

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


 


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


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