Top Ad unit 728 fff 90

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

СТРЕЛЬБА.

 

Ну вот. Когда я был начинающим флэшером, меня тоже интересовал вопрос как же так можно сделать стрельбу? Я искал уроки, находил, но ничего не понимал. Там были всякие синусы косинусы куча формул. Думал я думал и решил придумать свой способ, который состоит из базовых команд. Сейчас я собственно и выведаю вам его)). Ну как обычно в начале создаём героя и называем его hero. Пишем ему код, чтоб он научился ходить(см. урок №1) Теперь приступаем к стрельбе. Рисуем патрон(сам патрон – первая ступень). Преобразовываем его в клип нажав F8(клип с патроном вторая ступень). После преобразовывания называем его patron. Потом ещё раз преобразовываем в клип(клип в клипе патрона – третья ступень; она же главная сцена(рабочая область)). Второй клип называем patron2. После того как мы преобразовали кликаем по клипу дважды, так чтобы мы были на второй ступени. Там мы рисуем анимацию следующего типа. Чтобы патрон от центра клипа летел строго по прямой.

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

(картинки нет - будет в самом уроке)

И в первом кадре пишем код;

stop();

 

В этой же второй ступени создаём ещё один слой, но только на первый кадр. В нём ничего не рисуем, а создаем прозрачный клип, которому задаём следующий код:

 

onClipEvent (enterFrame) {

_root.patron._x = _root.hero._x;

_root.patron._y = _root.hero._y;

_root.patron._rotation = _root.eye._rotation

if (Key.isDown(Key.SPACE)) {//при нажатии клавиши пробел

_root.patron. play(); // патрон полетееел)

}

}

 

Этот код делает так, чтобы патрон бегал за героем и имел угол его направления, но только пока он не вылетел, …как только он полетит, он уже не будет зависеть от героя.

 

Так же создаём место, куда враг должен стрелять (враг или стена). И пишем этому месту)) код:

 

onClipEvent (enterFrame) {

if(_root.patron.patron2. hitTest(this)){

//здесь пишите, что должно произойти)))) если не знаете что писать смотрите предыдущие уроки

}

 

А как же нам сделать так, чтобы курсор мыши был прицелом и герой стрелял в сторону прицела. Да очень просто. Рисуем прицел, преобразовываем его в клип Пишем ему такой код:

 

onClipEvent (load) { // загрузка свойств клипа

Mouse.hide();// скрывает указатель мыши

startDrag (this, true); // заставляет клип двигаться за курсором

}

 

Потом герою дописываем ещё кусочек кода между фигурными скобками функции

onClipEvent (enterFrame){здесь} а пишем такой код:

 

a = _root._ymouse -_root.hero._y;

b = _root._xmouse -_root.hero._x;

this._rotation = Math.atan2(a, b)/(Math.PI/180);

All Rights Reserved by ProcessPlus 2014 - 2020

Написать нам

Имя

Email *

Сообщение *