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

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

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

Регистрация: Aug 2013
Сообщений: 73
По умолчанию Создание объектов с разными именами через цикл for

Доброго времени суток.
Разбираю циклы...

Знаю, что можно создать через цикл for несколько объектов с одинаковыми именами:

Код AS3:
 
for (var i = 0; i < 4; i++) {
   var sp:Sprite = new Sprite( );
   sp.x = 0;
   sp.y = 0;
   addChild(sp);
}
Но как создать через цикл несколько объектов с разными именами?
sp1, sp2 и т.д. и добавлять их addChild(sp1), addChild(sp2) и т.д.

Первое, что пришло в голову:

Код AS3:
 
for (var i = 0; i < 4; i++) {
   var sp[i]:Sprite = new Sprite( );
   sp[i].x = 0;
   sp[i].y = 0;
   addChild(sp[i]);
}
Но не работает.

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

Регистрация: May 2010
Сообщений: 543
Код AS3:
var sprites:Array = [];
for (var i:int = 0; i < 4; i++) {
   var sp:Sprite = new Sprite( );
   sp.x = i;
   sp.y = i;
   addChild(sp);
   sprites.push(sp);
}
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с)

Старый 11.11.2013, 15:42
dendead вне форума Посмотреть профиль Отправить личное сообщение для dendead Найти все сообщения от dendead
  № 3  
Ответить с цитированием
dendead

Регистрация: Aug 2013
Сообщений: 73
Большое спасибо. На ровном месте запутался.

Добавлено через 3 минуты
И ещё один вопрос.
Как выставить значения sp.x и sp.y для каждого из создаваемых объектов самым простым способом? Например первому sp нужно выставить x 10, а второму 100.

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

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Здесь у первого sp х = 10, у второго х = 110.
Код AS3:
var sprites:Array = [];
for (var i:int = 0; i < 2; i++) {
   var sp:Sprite = new Sprite( );
   sp.x = i * 100 + 10;
   sp.y = i;
   addChild(sp);
   sprites.push(sp);
}

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

Регистрация: Aug 2013
Сообщений: 73
Хм... Всё так. Ещё раз спасибо.

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

Регистрация: Aug 2010
Сообщений: 22
Цитата:
Сообщение от dendead Посмотреть сообщение
И ещё один вопрос.
Как выставить значения sp.x и sp.y для каждого из создаваемых объектов самым простым способом? Например первому sp нужно выставить x 10, а второму 100.
Если каждому объекту необходимо установить свои уникальные свойства, может не стоит использовать цикл?
Если, конечно, никакой связи между x, y разных объектов не существует.

Старый 11.11.2013, 19:11
dendead вне форума Посмотреть профиль Отправить личное сообщение для dendead Найти все сообщения от dendead
  № 7  
Ответить с цитированием
dendead

Регистрация: Aug 2013
Сообщений: 73
Цитата:
Сообщение от shmaser Посмотреть сообщение
Если каждому объекту необходимо установить свои уникальные свойства, может не стоит использовать цикл?
Если, конечно, никакой связи между x, y разных объектов не существует.
С циклом гораздо меньше кода. И для этих, создаваемых циклом объектов, x и y важны только для указания расстояния между ними при отображении.

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

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

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


 


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


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