Если leeway имеет значение, равное 1, то каждая глубина была бы на 1 больше предыдущей. Обратите внимание на использование Math.abs() в строках 3-5. Это гарантирует, что значения x, y, и z положительны. В строках 8 и 9 мы вычисляем глубину и затем возвращаем ее в строке 10.
Теперь давайте взглянем на функцию, которая создает плитки, buildFloor():
1 function buildFloor(path){
2 path.tile._visible =false;
3 world.tiles =[];
4 var y =0;
5 for (var j =1;j<=10;++j){
6 for (var i =1;i<=10;++i){
7 if (j ==1){
8 world.tiles [i ] ==[];
9 }
10 var depth =iso.calculateDepth(i,y,j);
11 var name ="cell"+i+"_"+j;
12 path.attachMovie("tile",name,depth);
13 var clip =path [name ];
14 world.tiles [i ][j ] =={x:i,y:y,z:j,depth:depth,
.clip:clip};
15 var x =(i-1)*world.cellWidth;
16 var z =-(j-1)*world.cellWidth;
17 temp =iso.mapToScreen(x,y,z);
18 clip._x =temp [0 ];
19 clip._y =temp [1 ];
20 }
21 }
22 }
В шкале времени есть объект с именем world (который мы увидим в разделе «Разрушение простого мира» позднее), который был создан для хранения информации об этом изометрическом мире. В строке 3 вышеприведенного кода мы создаем массив в объекте world с именем tiles. Это двухмерный массив, и каждый элемент массива является объектом, представляющим плитку. В строке 4 мы присваиваем переменной y значение 0. Это уровень, на котором будут создаваться плитки. Взгляните на строку 10. Здесь мы находим глубину текущей плитки, которая была добавлена на экране. Мы делаем это передачей номера плитки x, номера плитки z, и уровня y (0). В строке 12 мы добавляем плитку, используя attachMovie(), и назначая ей глубину из переменной, которую мы создали в строке 10 под именем depth.
Давайте посмотрим на функцию, используемую для размещения шара на экране:
1 function placeBall(){
2 ball.x =ball.x;
3 ball.y =ball.y;
4 ball.z =ball.z;
5 var temp =iso