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

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

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

Регистрация: Mar 2013
Сообщений: 10
По умолчанию Как организовать объявление переменных через цикл?

Добрый день, подскажите как организовать, объявление переменных через цикл, что бы код не был таким громоздким?
У меня объявляется n-ое колличиство переменных:

Код AS3:
var vrb1:Par1;
var vrb2:Par2;
////////////////
var vrb100:Par100;
Возможно ли все это вывести через цикл, что то вроде следующего

Код AS3:
for (i=1; i<=100; i++){
var ["vrb"+i]:["Par"+i];
}
Понимаю, что синтаксис не правильный, это для примера.

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
Просто засунь все что нужно в массив!

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

Регистрация: Mar 2013
Сообщений: 10
Цитата:
Сообщение от Vansimar Посмотреть сообщение
Просто засунь все что нужно в массив!
Не совсем понимаю, как засунуть объект в массив, предварительно не объявив этот объект? Мб я плохо понимаю логику AS3, поясни, как это сделать?

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
Как то так

Код AS3:
var array:Array = new Array();
 
for(var i:int = 0; i < 100; i++){
     array[i] = new Par();
}
и потом использовать как array[10], array[67] и так далее

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Vansimar, у товарища топикстартера не просто сто экземпляров. У него еще и каждый экземпляр — своего собственного Класса.
__________________
Reality.getBounds(this);

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
Пусть тогда удалит флеш билдер или что там он юзает и забудет свои знания по программированию)) а если серьезно, то так совсем не должно быть)

Старый 11.02.2014, 12:32
legionld вне форума Посмотреть профиль Отправить личное сообщение для legionld Найти все сообщения от legionld
  № 7  
Ответить с цитированием
legionld

Регистрация: Mar 2013
Сообщений: 10
Цитата:
Сообщение от Vansimar Посмотреть сообщение
Как то так

Код AS3:
var array:Array = new Array();
 
for(var i:int = 0; i < 100; i++){
     array[i] = new Par();
}
и потом использовать как array[10], array[67] и так далее
Все равно не пойму) У меня есть несколько классов(Par1... Par100) Каждый класс представляет собой МувиКлип мне нужно вытащить их на область отображения. Я делал это следующим образом

Код AS3:
var vrb1:Par1  = new Par1();
var vrb1:Par2  = new Par2();
var vrb1:Par3  = new Par3();
..............................................
var vrb1:Par100  = new Par100();
 
addChild(vrb1);
addChild(vrb2);
...................
addChild(vrb100);
А как переписать данный скрипт покороче?

Добавлено через 10 минут
Цитата:
Сообщение от Vansimar Посмотреть сообщение
Пусть тогда удалит флеш билдер или что там он юзает и забудет свои знания по программированию)) а если серьезно, то так совсем не должно быть)
OK, как мне тогда вывести МувиКлипы не используя для каждого свой класс?

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
Код AS3:
 
for(var i:int = 0; i < 100; i++){
var NewClass = getDefinitionByName("Par"+i);
addChild(new NewClass());
 
}
Добавлено через 58 секунд
Так должно помочь

Добавлено через 10 минут
Но опять же, это сработает, если в имена Классов начинаются одинаково и имеют отличие в идентификаторе, а если имена разные то придется вручную забивать в массив их и уже циклом потом добавлять на сцену

Старый 11.02.2014, 13:10
legionld вне форума Посмотреть профиль Отправить личное сообщение для legionld Найти все сообщения от legionld
  № 9  
Ответить с цитированием
legionld

Регистрация: Mar 2013
Сообщений: 10
Vansimar, большое спасибо!

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

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

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


 


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


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