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

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

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

Регистрация: Dec 2003
Адрес: Москва
Сообщений: 38
Отправить сообщение для ethereal999 с помощью ICQ
По умолчанию Именование объектов в цикле

Приветствую,

как мне динамически задать имя переменной и присвоить ей класс тоже с динамическим именем?
Если грубо, то задача выглядит так:

Код AS3:
private var logo_0:MovieClip;
private var logo_1:MovieClip;
private var logo_2:MovieClip;
private var logo_3:MovieClip;
private var logo_4:MovieClip;
 
for (var i:int = 0; i < 5; i++){
    logo_ + i = new Logo_ + i();
}
C динамическим именованием класса вроде ясно, я применяю такую конструкцию:

Код AS3:
var dynamicClassName:String = "Logo_" + i;
var classRef:Class = getDefinitionByName (dynamicClassName) as Class;
Существует ли аналогичная конструкция для именования переменной?
__________________
Love & Peace!

Старый 03.09.2012, 12:50
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Используйте массив.
__________________
тут я

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Не нужно классу динамическое имя.

Код AS3:
private var logos:Array = new Array();
 
for (var i:int = 0; i < 5; i++){
   logos[i] = new Logo();
}
__________________
Дети не должны знать о своих родителях

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Нужно, если он расширяет MovieClip и содержит в себе ассет из библиотеки
__________________
тут я

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
КорДум,
Что за "ассет из библиотеки" ?
__________________
Дети не должны знать о своих родителях

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Графика, к которой прилинкован класс. В билиотеке FlashIDE.
__________________
тут я

Старый 03.09.2012, 13:24
ethereal999 вне форума Посмотреть профиль Отправить личное сообщение для ethereal999 Посетить домашнюю страницу ethereal999 Найти все сообщения от ethereal999
  № 7  
Ответить с цитированием
ethereal999
 
Аватар для ethereal999

Регистрация: Dec 2003
Адрес: Москва
Сообщений: 38
Отправить сообщение для ethereal999 с помощью ICQ
КорДум
Спасибо, попробую.

Tails
а логотипов несколько разных, соответственно у каждого свой класс, поэтому и имя нужно динамическое
__________________
Love & Peace!

Старый 04.09.2012, 13:06
Feareles вне форума Посмотреть профиль Отправить личное сообщение для Feareles Найти все сообщения от Feareles
  № 8  
Ответить с цитированием
Feareles

Регистрация: Aug 2012
Сообщений: 10
можно сделать как один мувиклип в каждом кадре будет стоп и нужный логотип. Потом тебе надо будет просто перемещаться с помощью gotoAndStop() в нужный кадр.
Код AS3:
imtort Logo;
var logos:Array:new Array();
var i:int;
for (i=0;i<n;i++)
{
   logos[i]=new Logo();// выделяешь память под экземпляр мувиклипа
   addChild(logos[i]);//добавляешь на экран
// задаёшь logos[i].x и logos[i].y
   logos[i].gotoAndStop(i);//перемещаешь в нужный кадр
}
как-то так..


Последний раз редактировалось Feareles; 04.09.2012 в 13:09. Причина: несовсем правильно написал
Старый 08.09.2012, 15:47
ethereal999 вне форума Посмотреть профиль Отправить личное сообщение для ethereal999 Посетить домашнюю страницу ethereal999 Найти все сообщения от ethereal999
  № 9  
Ответить с цитированием
ethereal999
 
Аватар для ethereal999

Регистрация: Dec 2003
Адрес: Москва
Сообщений: 38
Отправить сообщение для ethereal999 с помощью ICQ
Тоже хорошо, спасибо.
__________________
Love & Peace!

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

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

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


 


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


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