Показать сообщение отдельно
Старый 17.07.2013, 23:43
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 10  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Сообщение от 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 нужными значениями, под размер сцены и поместить код в функцию, будет ли каждый раз при вызове функции генерировать новый массив, принимая в себя координаты предстоящего куска карты?

Сойдет ли данная конструкция для бесконечного игрового мира?