Создание ролевых игр (1 урок)
СОЗДАНИЕ И ДВИЖЕНИЕ
RPG это ролевая игра, поэтому в ней должен быть один герой. Это может быть кто угодно: человек, собака, круг и т. д. После того как вы нарисовали героя, нажмите клавишу F8, выберете “клип” и кликните “ок”. В клип вставьте этот код:
onClipEvent (load) {
s = 10;
}
// загружаем переменную “s”, которая означает кол-во пикселей, которое будет проходить наш герой за одно нажатие (кадр)
onClipEvent (enterFrame) {
if (Key.isDown(Key.RIGHT)) { // при нажатии клавиши “вправо”
this._x += s // герой проходит “s” пикселей по оси X вперёд
_rotation = 90; // герой поворачивается до 90 градусов остальное аналогично
} else if (Key.isDown(Key.UP)) {
_rotation = 0;
this._y -= s
} else if (Key.isDown(Key.DOWN)) {
_rotation = 180;
this._y += s
} else if (Key.isDown(Key.LEFT)) {
_rotation = 270;
this._x -= s
}}
Может быть, вы заметили, что при нажатии клавиши вниз, герой идёт по оси Y вверх, а на деле всё смотрится нормально. Дело в том, что координатная плоскость в Flash расположена таким образом:
Для того, чтобы герой мог ходить не только вверх, вниз, назад вперёд, но и наискось нужно, чтобы выполнялись сразу два условия (например, нажималась сразу клавиша вниз и влево) тогда вот что получится
onClipEvent (load) {
s = 10;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.DOWN) && Key.isDown(Key.LEFT)) { // при нажатии клавиши “вправо”
this._x -= s // герой проходит “s” пикселей по оси X назад
this._y += s // герой проходит “s” пикселей по оси Y вверх
_rotation = 45; // герой поворачивается до 45 градусов, остальное аналогично
}
}
Оператор && как бы говорит, что при выполнении всех условий действие продолжится.
А оператор || как бы говорит, что при выполнении любого из условий (между которыми я стою) действие продолжится.