Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Создание объектов с разными именами через цикл for (http://www.flasher.ru/forum/showthread.php?t=204787)

dendead 11.11.2013 15:19

Создание объектов с разными именами через цикл 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]);
}

Но не работает.

carrotoff 11.11.2013 15:32

Код 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);
}


dendead 11.11.2013 15:42

Большое спасибо. На ровном месте запутался.

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

alexandrratush 11.11.2013 16:02

Здесь у первого 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);
}


dendead 11.11.2013 16:05

Хм... Всё так. Ещё раз спасибо.

shmaser 11.11.2013 18:53

Цитата:

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

Если каждому объекту необходимо установить свои уникальные свойства, может не стоит использовать цикл?
Если, конечно, никакой связи между x, y разных объектов не существует.

dendead 11.11.2013 19:11

Цитата:

Сообщение от shmaser (Сообщение 1152018)
Если каждому объекту необходимо установить свои уникальные свойства, может не стоит использовать цикл?
Если, конечно, никакой связи между x, y разных объектов не существует.

С циклом гораздо меньше кода. И для этих, создаваемых циклом объектов, x и y важны только для указания расстояния между ними при отображении.


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

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