|
|
|||||
Регистрация: Feb 2011
Адрес: x=0;у=0; да да, я в 2D))
Сообщений: 17
|
массив или не массив?
в общем,есть такая задача: нужно,чтобы при загрузке swf сцена наполнялась небольшими квадратиками,таким образом,чтобы полностью заполнить всю сцену. у меня должно получиться этакое поле 10 на 10.итого сто квадратиков. в дальнейшем нужно будет обращаться к каждому из этих квадратиков и некоторые из них должны иметь отдельные от других свойства. как реализовать? сделать массив из ста элементов.где каждый элемент это квадратик? и как указать порядок добавления на сцену таким образом как я написал? если у меня 10 на 10, то получается что у тех квадратиков что будут находиться в нижнем ряду, позиция по y=0 а позиция по х тоже вполне вычисляема ( прибавляем ширину квадрата и получаем х) когда количество элементов добавляемых на уровень Y=0 будет равной 10, то к Y прибавляем число,на которое хотим поднять второй уровень. как то так да? помогите сообразить
|
|
|||||
Регистрация: Jul 2008
Сообщений: 107
|
import flash.events.MouseEvent; var box:Box; addEventListener(MouseEvent.CLICK, onClick); for (var column:int=0; column<10;column++) { for (var row:int=0; row<10;row++) { box = new Box(); box.name = String(column) + String(row); box.x = (box.x + box.width)*column; box.y = (box.y + box.height)*row; addChild(box); } } function onClick(event:MouseEvent):void { trace(event.target.name); } |
|
|||||
По размещению:
public class MySquare extends MovieClip { // Количество по вертикали и горизонтали private const QUANTITY_V:int = 10; private const QUANTITY_H:int = 10; // Здесь задаём размеры private const SIZE_V:int = 20; private const SIZE_H:int = 20; // Собственно массив private var square:Array = []; public function MySquare() { // Просто передаём в параметры количество CreateAndArrange(QUANTITY_V,QUANTITY_H); } public function CreateAndArrange(v:int, h:int) { // Индексы var ti:int = 0; var tj:int = 0; var ij:int = 0; for (var i:int=0; i<QUANTITY_V; ++i) { for (var j:int=0; j<QUANTITY_H; ++j) { // Для лучшего вида // Сразу просчитываем координаты ti = (i*SIZE_V)+(SIZE_V); tj = (j*SIZE_H)+(SIZE_H); // Заталкиваем в массив // В конструктор mcSquare передаем координаты, // и размеры очередного квадрата square.push(new mcSquare(ti,tj,SIZE_V,SIZE_H)); // Помещаем на форму addChild(square[ij++]); } } } } |
|
|||||
Регистрация: Apr 2010
Сообщений: 219
|
Никогда не понимал, зачем в подобных ситуациях использовать вложенные циклы, когда достаточно одного?
|
|
|||||
Регистрация: Dec 2010
Сообщений: 4
|
Да можно и вообще без циклов...
|
|
|||||
Как по мне, то вложенные циклы нагляднее в коде,
тем более когда подразумевается матрица - но я хотел бы увидеть код без вложенных циклов - нет, я всё же хотел бы увидеть код без циклов)) |
|
|||||
Регистрация: Apr 2010
Сообщений: 219
|
Про "без циклов" я ничего не говорил, я говорил про "без вложенных циклов". Пример еще нужен?
|
|
|||||
Регистрация: Jan 2011
Сообщений: 2
|
написать 100 раз подряд добавление элемента в массив
|
|
|||||
Регистрация: Apr 2010
Сообщений: 219
|
Как-то так:
|
Часовой пояс GMT +4, время: 20:38. |
|
« Предыдущая тема | Следующая тема » |
|
|