Top Ad unit 728 fff 90

Создание ролевых игр (10 урок)

СТЕНКИ

 

Перед тем как рассказать о стрельбе, наверное, стоит рассказать, как делать стенки. Сначала как обычно делаем героя. Преобразовали его в символ и в панели свойства назвали его hero и не забываем писать ему этот код:

 

onClipEvent (load) {

s = 10;

}

onClipEvent (enterFrame) {

if (Key.isDown(Key.RIGHT)) {

this._x += s

_rotation = 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

}}

 

(подробнее смотри урок номер один. После того как мы создали героя, создадим прямоугольник в верхней части рабочей области. Преобразуем его в клип. И зададим ему такой код:

 

onClipEvent (enterFrame) {

if (_root.hero.hitTest(this)) {{//при взаимодействии нашего героя со стенкой.

_root.hero._y += _root.hero.s; //программа обращается к клипу с героем и берёт из клипа переменную s т. е. скорость героя… и отталкивает героя от стенки на его же скорость(значения скорости героя и отталкивания от стены должны быть равны если оно(значение отталкивания) будет больше чем скорость героя тогда герой будет отскакивать от стены, а если меньше … это мы рассмотрим ниже)

}

}

 

Ну, в общем-то, стенка готова. Что бы сделать нижнюю стенку нужно заменить в код плюс на минус. А чтобы сделать левую стенку нужно написать такой код:

 

onClipEvent (enterFrame) {

if (_root.hero.hitTest(this)) {{

_root.hero._x += _root.hero.s; // по оси икс стенка отталкивает героя в сторону противоположную его движению.

}

}

 

Ну а для создания правой стенки просто заменяем плюс минусом.

 

Теперь рассмотрим пример. Если значение отталкивания будет меньше чем скорость героя например так(код для стенки):

 

onClipEvent (enterFrame) {

if (_root.hero.hitTest(this)) {{

_root.hero._x += _root.hero.s/2; // значение отталкивания в 2 раза меньше скорости

}

Тогда у нас получится, что-то вроде препятствующего прохождению барьера.

All Rights Reserved by ProcessPlus 2014 - 2020

Написать нам

Имя

Email *

Сообщение *