![]() |
|
||||||||||
|
|||||
|
[+ за варез]
|
необходимо чтобы в процессе выполненя скрипта двумерый массив ANE полностью принимал значение массива AOL ...
я путаюсь в синтаксисе AS как только начинаю в нем ковырять --- сразу запарываю весь скрипт Помогите ПЛЗ... |
|
|||||
|
Регистрация: Jul 2003
Адрес: SPb
Сообщений: 125
|
Уточните задачу. Что есть ANE и AOL? Каковы размеры массивов, по каким правилам осуществляется "прием" в массив и что такое этот "прием"?
|
|
|||||
|
[+ за варез]
|
Попытаюсь объяснить....
Игра имеет вид тайловго поля, построенного при помощи двумерного массива(ANE ). При переходе игрока с одного поля на другое необходимо чтобы текущий массив был скопирован в массив AOL а сам ANE при этом примет новые значения... Грубо говоря, Новое поле строится генератором случайных чисел (random) , а текущая карта должна сохранятся в отдельном массиве... По задумке должно запоминаться несколько посещенных карт ..... теоритически у меня вроде все сходиться и должно работать но как только доходит до AScript получается нелепица. наверное дело в синтаксисе. поэтому я спросил как заставить некий двумерный массив полностью перенять все значения другого.... |
|
|||||
|
Если у тебя синтаксическая ошибка, смотри окошко output.
Покажи актуальный кусок скрипта, что-ли. |
|
|||||
|
[+ за варез]
|
map01 = new Array();
for (j=1; j<=13; j++) {
for (i=1; i<=13; i++) {
cot = cot+1;
duplicateMovieClip("_root.baseblox", "baseblox00"+cot, 1000+cot);
setProperty("baseblox00"+cot, _x, 50+i*30);
setProperty("baseblox00"+cot, _y, 50+j*30);
cotar = "baseblox00"+cot;
zoo = Math.floor(Math.random()*100)+1;
map01[i][j] = zoo;
trace(map01[i][j]);
tellTarget (cotar) {
gotoAndStop(_root.zoo);
}
}
}
|
|
|||||
|
Попробуй добавить такую строку:
Смысл: двумерный массив есть массив строк. Но каждая из этих строк - опять же массив, и его надо создавать. |
|
|||||
|
[+ за варез]
|
Интересная идея.
и если j это координата y , а i это x то как правильно найти значение в точке x=13,y=5 ? |
|
|||||
|
Циклы надо поменять местами, конечно.
иначе здесь map01[i][j] = zoo; идет работа со строкой, которая еще не создана. |
|
|||||
|
[+ за варез]
|
Алексей Бирюков многочисленные спасибы.
.... Наконец то вместо Undefined появились цифры в output'e А если написать дальше то будет ли скажем map02[5][12] = map01[5][12] ? |
|
|||||
|
Эти две строчки эквивалентны одной
map02 = map01; Дело в том, что переменная map02 есть указатель. В первой строке ты направляешь его на создаваемый массив, а во второй перенаправляешь на тот же массив, на который указывает map01. Равенство map02[5][12] == map01[5][12] выполнятся будет, но у тебя не два массива а один, но с двумя именами. Это как два ярлыка к одному файлу. |
![]() |
Часовой пояс GMT +4, время: 11:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|