Этот объект также скоро будет рассматриваться, когда мы изучим функцию buildCharacter(). Также в этом объекте сохранена ширина плиток изометрического мира.
Насколько широка ваша плитка?
Вы могли бы задаться вопросом, как вы можете найти ширину квадратной плитки в изометрическом мире. Легко – вы просто используете инспектор свойств для нахождения ширины плитки в системе Flash, а затем делите это число на квадратный корень из 2 (приблизительно 1.414). Результатом является ширина этой плитки в изометрическом мире. С другой стороны, если вы только создаете плитку, то вы можете использовать следующую уловку:
1. Нарисуйте квадрат во Flash (скажем 100 на 100).
2. Поверните квадрат на 45?.
3. Уменьшите высоту этого квадрата на 50 процентов.
То, что мы получаем в результате, в точности соответствует тому, как квадрат выглядит в изометрическом мире. И вы знаете какова его ширина в мире Flash поскольку вы создали его (100 в данном случае).
Сейчас давайте взглянем на функцию buildCharacter() (которая вызывается в строке 11 кода ActionScript на предыдущей странице):
1 function buildCharacter(path){
2 world.char =new Object();
3 world.char.tempx =10;
4 world.char.tempy =0;
5 world.char.tempz =-10;
6 world.char.speed =4;
7 world.char.feeler =10;
8 world.char.width =10;
9 world.char.xmov =0;
10 world.char.zmov =0;
11 world.char.moving =false;
12 world.char.clip =path.character;
13 positionCharacter();
14 }
Эта функция инициализирует объект, который представляет персонажа. Этот объект называется char и находится в объекте world. В строках 3-5 мы устанавливаем временную позицию персонажа для задания ему начального положения. При прохождении через другие вызываемые функции эта временная позиция становится текущей позицией персонажа (то есть tempx, tempy , и tempz становятся x, y, z). В строке 6 мы создаем переменную под названием speed. Когда вы нажимаете на плитку, персонаж будет пытаться идти туда