![]() |
|
||||||||||
|
|||||
|
[+1 02.08.06]
[+1.3 17.10.06] [+1 02.03.07] Регистрация: Jul 2004
Адрес: С-Петербург
Сообщений: 76
|
всем привет!
вопрос очень интересный! ответа немогу найти интересует вот что ! как сделать сортировку глубины ячеек карты вот код который делает карту 10х10 ячеек game = {};
game.columns = 10;
game.rows = 10;
game.spacing = 30;
game.depth = 1000;
game.path = _root.grid;
game.numberOfTypes = 8;
function buildGrid() {
for (var j = 1; j<=game.rows; ++j) {
for (var i = 1; i<=game.columns; ++i) {
var name = "cell"+i+"_"+j;
var x = (i-1)*game.spacing;
var y = (j-1)*game.spacing;
var type = 1;
game.path.attachMovie("cell", name, ++game.depth);
game.path[name]._x = x;
game.path[name]._y = y;
game[name] = {x:i, y:j, name:name, type:type, clip:game.path[name]};
}
}
}
в опр. ячейках есть некий объект. если персанаж находится на ячейке ниже чем ячейка с объектом то персонаж покрывает объект. а если персонаж находиться над ячейкой с объектом то объект покрывает персонажа тоесть получаеться персонаж постоянно меняет свою глубину! есть вариант делать глубину ячейки по следующей схеме первая ячейка будет иметь глубину = 0 втарая = 10 треться 20 и т.д. а персонаж попадая на ячейку с глубиной = 10 будет иметь глубину =11 вопрос: как задавать глубину ячеек? и как персонажу постоянно менять глубину? всем спасибо. |
|
|||||
|
я тоже недавно такое делал, но не про персонажей
![]() глубину задавал примерно так 0+d 1+d 2+d 3+d 4+d 5+d 6+d 7+d 8+d 9+d .... d это просто некот изнач глубина написал функцию GetDepths которая по i j находит глубину и потом если что надо менял swapDepths
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 85
|
я вот тоже над подобным алгоритмом работал - только у меня задача, вроде, посложнее была: во-первых - проекция изометрическая, во-вторых - объекты на карте могут иметь размер больше 1-й клетки. пока не сделал на деревьях, ничего не получалось...
в Вашем же случае. как мне представляется, все достаточно просто. глубину ячейки определяете как это - глубина "пола". соотв. глубина объекта, расположенного на "полу" равняется глубине пола+1. когда персонаж заходит в ячейку, он получает высоту пола этой ячейки+1 - таким образом он автоматом будет над объектами, расположенными по y-1 - и под объектами на y+1 если я Вас правильно понял, конечно ![]() |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 177
|
я б задал каждому row свою глубину. Т.е. например все клетки cell.._1 имеют глубину 1, клетки cell.._2 - 3, клетки cell.._3 - 5. Суть в том, чтобы человечек, поднимаясь вверх или вниз ,также менял свою глубину на 2 (либо как-то узнавал глубину клетки на которой он стоит и прибавлял к её глубине единицу).
|
|
|||||
|
[+1 02.08.06]
[+1.3 17.10.06] [+1 02.03.07] Регистрация: Jul 2004
Адрес: С-Петербург
Сообщений: 76
|
firelord спасибо !!! раскидал пол по твоей формуле только * на 5 =) что бы запас был побольше =)
ща делаю персанажа глубину ему буду брать от ячейки в которой он находиться +1 ... всем спасибо! |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|