Что-то меня глючит кажется... Никак не допру..
У меня двумерный массив содержит названия мувиклипов. А потом эти названия оттуда никак не хотят забираться..
В общем, вот так:
Код:
function AddMap(x, y, mp) {
_root.i++;
map = "m"+mp;
newn = map+i;
duplicateMovieClip(map, newn, i);
xpos = x*50-50;
ypos = y*50-50;
karta[x][y] = mp;
setProperty(newn, _x, xpos);
setProperty(newn, _y, ypos);
}
Название получаемых мувиклипов - похоже на "m001", создаются они из мувика "map".
Сетка разбита на ячейки по 50 точек (для удобства)
х, y - координаты ячейки, в которой созданный мувик разместится.
xpos, ypos - реальные координаты
karta[x][y] - как раз тот самый массив
Затем идет добавление этих мувиков (получается что-то вроде карты)
Код:
AddMap(1, 9, "001");
AddMap(2, 9, "001");
AddMap(3, 9, "001");
По идее, при подобном коде в функции AddMap в массив karta должно записываться название.
Дальнейшая идея: путешествие по этой карте объекта - человечка.
Код:
function engine(x, y, go) {
act = karta[x][y];
if (act == "001") { if (go == 0) {
_root.man._x = _root.man._x+1;
} else {
_root.man._x = _root.man._x-1;
}
....тут для каждой карты свои формулы движения...
}
go - направление движения (0 - вправо, 1 - влево)
act - как раз название "местности", в зависимости от которой и будет двигаться человечек
Суть в том, что вот это условие if (act == "001") - никогда не срабатывает. Либо я массив неправильно заполняю.. либо неправильно потом к нему обращаюсь... Я подумал, что, быть может, массив просто не виден.. Посему, команду karta[0][0]="" поставил еще до объявления всех функций. Но не помогло.
В чем суть?