Цитата:
Сообщение от expl
...используют поле вместо переменной накой-то
Насколько я понял - там уровень представлен 1-мерным массивом, в который загнали построчно 2-мерный.
row = i / lvlColumns - получается номер строки
column = i - (row - 1) * lvlColumns - номер столбца
Умножаем на размеры ячейки - получаем координаты
Но я бы мозг свой так не мучал, а просто прошёлся бы 2-мя циклами:
Код AS3:
for (i = 0; i < numCols; i++) {
for (j = 0; j < numRows; j++) {
var cellValue:int = lvlArray[j * numCols + i];
var x:Number = i * cellWidth;
var y:Number = j * cellHeight;
if (cellValue == 1) {
// Добавить мувиклип в координаты x, y
}
}
}
Или вообще бы использовал 2-мерный массив
Или вообще бы 2-мерный массив использовал
|
Спасибо за упрощенный код. Теперь более понятно.
А теперь вопрос: можно ли, используя класс-генератор псевдослучайных чисел, заполнять массив методом push нужными значениями, под размер сцены и поместить код в функцию, будет ли каждый раз при вызове функции генерировать новый массив, принимая в себя координаты предстоящего куска карты?
Сойдет ли данная конструкция для бесконечного игрового мира?