Дата: Понедельник, 25.07.2016, 21:21 | Сообщение # 1
Сообщений: [390]
Возможности движка:
Простое создание уровней для игры;
Прыжок;
Движение влево/вправо.
Минусы:
Плохой метод проверки столкновений между уровнем и персонажем;
Вследствие этого вытекает ещё масса минусов которые мне не охота перечислять.
Итак, среднестатистический уровень будет представлять собой два символа char(персонаж) и ground(окружение)
ВАЖНО: при создании символа char точку регистрации нужно поставить внизу посередине.
В чем суть метода: столкновения проверяются не хитбоксами, а точкой(регистрации). Это и позволяет буквально рисовать уровни. Однако это также отбирает возможность делать потолок и ступеньки.
В клип char вставляем следующее:
Код
onClipEvent (load) { var xspeed = 5; var grav = 0; var onground = false; var jumpHeight = 15; }
Как вы возможно догадались по именам переменных, xspeed - это скорость по горизонтали, grav - сила, тянущая вниз, onground - проверка на нахождение на поверхности и jumpHeight - сила прыжка.
Туда же вставляем это:
Код
onClipEvent (enterFrame) {
//Тянем персонажа вниз grav++; _y += grav;
//Проверяем, стоит ли он на земле. Если стоит, то НЕ тянем персонажа вниз while (_parent.ground.hitTest(_x, _y, true)) { _y--; grav = 0; onground = true; }
//Идем влево if (Key.isDown(Key.LEFT)) { _x -= xspeed; }
//Идем вправо if (Key.isDown(Key.RIGHT)) { _x += xspeed; }
//Проверка столкновения справа if (_parent.ground.hitTest(_x + xspeed, _y, true)) { _x -= xspeed; }