Знания в формате 4 и 5

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Знания в формате 4 и 5 » Clickteam Fusion 2.5 » CTF - Игра "Лови фрукт"


CTF - Игра "Лови фрукт"

Сообщений 1 страница 6 из 6

1

Игра "Лови фрукт"

http://informat45.ucoz.ru/practica/ClickTeam/0071.png
Исходник игры: СКАЧАТЬ

На этом уроке вы узнаете:
- Как делать управляемого персонажа
- Как добавлять в игровую зону объекты
- Программируем падение объектов
- Ловим объекты

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

2

Создание управляемого персонажа

Первым делом, мы должны найти подходящего персонажа для нашей игры , коим мы будем управлять. Мало кто знает, о существовании в ClickTeam Fusion 2.5 библиотек. Там вы можете найти уже анимированных игровых персонажей, заготовки для фона, и много чего полезного.

Нам нужен спрайт персонажа, который есть в библиотеке по адресу "Local Library -> Games -> Characters -> General - Sports people", где выберем и перенесём на рабочую область объект Runner. Это и будет наш игровой персонаж.

http://informat45.ucoz.ru/practica/ClickTeam/0072.png
Так как мы хотим управлять персонажем в игре, следует задать ему тип движения, для этого перейдём в левой панели свойств на вкладку Movement. В свойстве Movement type, выберем тип Eight Directions. Данный тип программирует движение в 8 направлениях, но столько направлений нам не надо. Поэтому нам нужно, ограничить движения по некоторым направлениям.

http://informat45.ucoz.ru/practica/ClickTeam/0073.png
Чтобы сделать это, выберите свойство Directions и снимите выделения из всех направлений, кроме стрелок направления влево и направо. Теперь наш герой может двигаться только влево и вправо.

http://informat45.ucoz.ru/practica/ClickTeam/0074.png
Кроме этого, измените скорость персонажа на 32. Мы же не хотим, чтобы игра была слишком легкой?
Если мы откроем нашего персонажа, через графический редактор, то мы увидим фреймы. По сути каждый фрейм, это отдельный кадр движения, вместе же они образуют анимацию. Так что нам не стоит волноваться, о редактировании или изменении данного объекта. Оставим как есть. Теперь же мы можем протестировать приложение, чтобы удостовериться в правильности введённых нами настроек (F8).

Также в процессе тестирования вы могли заметить, что наш игрок может убежать за пределы экрана. Будем устранять эту возможность, откроем редактор событий Event editor.

Создадим новое состояние для объекта Runner, через вкладку Position -> Test position of "Runner".

http://informat45.ucoz.ru/practica/ClickTeam/0075.png
В появившемся окне, нажмите на стрелки, которые указывают на движение за кадр. В нашем случае мы нажимаем на стрелки, отмеченные красным кружком:

http://informat45.ucoz.ru/practica/ClickTeam/0076.png
Мы создали условие в котором определяется наличие нашего объекта за пределами игровой зоны. Теперь же нам осталось в настройках движения объекта на данное событие указать действие Stop.

Теперь мы должны иметь событие, которое выглядит следующим образом:
http://informat45.ucoz.ru/practica/ClickTeam/0077.png

3

Добавляем в игровую зону фрукты

Механики игры будет заключаться в том, что с вершины игровой зоны будут падать фрукты, причём в разное время. Что бы не утруждать себя рисованием новых объектов, мы также как и в случае с бегуном, возьмём всё нужное из библиотек.
А всё нужное мы найдём по адресу: Games -> Miscellaneous -> General - Fruit. Перенесём отсюда следующие фрукты:

http://informat45.ucoz.ru/practica/ClickTeam/0078.png
Зададим для фруктов свойство Movement, тип Pinball. В этом случае они будут вести себя более реалистично. При создании, они падают медленно, но потом падение постоянно ускоряется, т.к. на них действует гравитация.

Настроем такое движения для каждого из фруктов. Если вы в данный момент протестируете игру, то заметите, что фрукты падают с довольно высокой скоростью. Следовательно, нужно снизить им скорость падения, что бы можно было их словить. Для этого выделим все фрукты, и в свойстве Movement, где мы ранее указали тип движения, нужно теперь изменить параметры гравитации и начальной скорости равную 6.

http://informat45.ucoz.ru/practica/ClickTeam/0079.png
Так же не забудьте задать первоначальное направление движения фруктов, right(0) и left(16).

4

Создаём процесс падения для фруктов

Далее нам для нашей игры требуется запрограммировать процесс падения фруктов, с летающего объекта. Этот объект будет летать в верхней части игровой области и время от времени сбрасывать нам фрукты.
Что бы заново ничего не рисовать, откроем библиотеки и воспользуемся уже готовым спрайтом. Найдите космолёт по адресу библиотеки Games > Spacecraft > Space craft > Small UFO.

http://informat45.ucoz.ru/practica/ClickTeam/0080.png
Перенесите иго из библиотеки на игровую область. Далее нам следует запрограммировать путь его движения, для этого в разделе свойств Movement, выберем тип Path Movement.

http://informat45.ucoz.ru/practica/ClickTeam/0081.png
Для создание нужно нам траектории нажмём на кнопку Edit.

Появится диалоговое окно для создания и редактирования пути.

http://informat45.ucoz.ru/practica/ClickTeam/0082.png
Что бы нарисовать путь, нажмите на вторую кнопку слева "Tape mouse". После чего нарисуйте кривую линию от начала игровой зоны, до конца и обратно. Причём постарайтесь нарисовать так, что бы точка старта и окончания были приблизительно в одном месте. Т.е. как-то так:

http://informat45.ucoz.ru/practica/ClickTeam/0083.png
Далее, если вы сейчас протестируйте движение, то увидите что космолёт совершит всё движение по траектории и остановится. Нам нужно включить зацикленное движение, что бы по окончанию полного движения он его повторил снова. К тому же, скорость движения объекта слишком высокая.

Что бы изменить скорость, нужно мышкой выделить весь уже созданный путь, и переместить бегунок с описанием скорости от значения 50, до значения 18. Затем что бы зациклить движение, на панели редактирование траектории следует нажать на кнопку Loop the movement http://informat45.ucoz.ru/practica/ClickTeam/0085.png.
В результате у вас должны получиться такие настройки:

http://informat45.ucoz.ru/practica/ClickTeam/0084.png
Теперь, если вы протестируете игру, то увидите, что всё работает как надо.

Перейдём к фруктам, для их создания нам потребуется функция определения времени. На практике это необходимо, для создания фруктов в определённый момент времени. Так к примеру:
- Каждую 3ю секунду, будет создаваться яблоко
- Каждую 5ю секунду, будет создаваться банан
- Каждую 7ю секунду, будет создаваться виноград

Заходим в редактор событий. Создадим новое состояние, нажмём на объект Timer и зададим ему свойство Every. В открывшемся диалоговом окне укажем значение секунд, равное 3.

http://informat45.ucoz.ru/practica/ClickTeam/0086.png
http://informat45.ucoz.ru/practica/ClickTeam/0087.png

Думаю вы уже поняли, что каждую третью секунду, будет совершаться действие. И тут уже следует указать какое именно действие будет выполняться. В нашем случае, это создание нового объекта. Поэтому найдём в событиях, действие Create object. Появится диалоговое окно, где следует выбрать создаваемый объект.

http://informat45.ucoz.ru/practica/ClickTeam/0088.png
Выберем из списка активных объектов - объект Apple.

http://informat45.ucoz.ru/practica/ClickTeam/0089.png
Теперь от нас требуется указать координату появления объекта. Мы можем задать точное место появления на игровой области, а можем установить в качестве координаты - координату космолёта. Что собственно и сделаем, нажмите на флажок Relative to: и укажите объект Small UFO.

http://informat45.ucoz.ru/practica/ClickTeam/0090.png
На будущее, вы можете также указать смещение относительно координаты выделенного объекта. Для этого нужно навести мышь на прямоугольник, прямо перед выделенным объектом и сместить в сторону смещения. Однако это на будущее, что бы вы были в курсе. Нам же в этом уроке, это не пригодится.

http://informat45.ucoz.ru/practica/ClickTeam/0091.png
Когда вы произведёте все настройки, нажмите ОК.

Протестируйте игру, теперь наша НЛОшка, выбрасывает каждые 3 секунды по яблоку. Если что-то работает не правильно, проверьте правильность описания событий.

http://informat45.ucoz.ru/practica/ClickTeam/0092.png
Как самостоятельная работа, добавьте ещё два фрукта, и пропишите им таймер на 5, и 7 секунд

5

Собираем фрукты

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

http://informat45.ucoz.ru/practica/ClickTeam/0093_sm.png
Уже созданное событие выглядит так:
http://informat45.ucoz.ru/practica/ClickTeam/0094.png
Если текущее условие истинна, то должно совершаться какое-либо действие. В нашем случае понятно, что объект яблоко должен исчезнуть и попутно начислить нам немного очков.

Это событие в основном просит MMF2 "У нас второе место только столкнулся с яблоком?"

Когда ответ на этот вопрос "да", это наша работа, чтобы сказать, что мы MMF2 то хотите, чтобы произошло. В нашем случае мы хотим, чтобы яблоко, чтобы уничтожить, и мы хотим, чтобы дать игроку некоторые моменты.

Для этого в созданном событии напротив объекта Apple создаём действие - Destroy (уничтожить).

http://informat45.ucoz.ru/practica/ClickTeam/0095.png

Далее начислим очки за уничтоженное яблоко, нажмите правой кнопкой мыши в редакторе событий на объект Player 1 (напротив действия, где уничтожается яблоко). Затем Score > Add to Score.

http://informat45.ucoz.ru/practica/ClickTeam/0096.png
В следующем окне укажите значение 5, другими словами за каждое пойманное яблоко, мы будем получать по 5 очков.

Теперь по аналогии создайте условия столкновения для других фруктов. После того как вы закончите, у вас должна получиться такая запись:

http://informat45.ucoz.ru/practica/ClickTeam/0097.png
Как видите, другие фрукты появляются с разными интервалами времени, и награда за них значительно выше, чем у яблока.

Если вы протестируете игру, то заметите, что всё работает...кроме отображения очков, тут нам потребуется вынести на игровую зону новый объект. Поэтому перейдём на редактор фрейма, выполним операцию Insert Object, из списка выберем объект Score.

http://informat45.ucoz.ru/practica/ClickTeam/0098.png
Внешне этот объект выглядит как простое число с начальным значением "0".

Осталось сделать ещё парочку вещей, что бы закончить с игрой. Если НЛО сбрасывает фрукты слишком близко к границе игровой области, то есть вероятность, что фрукт улетит за экран.
Соответственно следующим шагом, мы создадим условия и действия, где фрукты будут отскакивать от границ.

Составим для всех фруктов условие определения положения в игровой зоне, приблизительно так же как мы это делали для нашего бегуна. А в качестве действия, для каждого фрукта укажите значение Movement > Bounce.

http://informat45.ucoz.ru/practica/ClickTeam/0099.png
После этого все фрукты, которые коснутся границы экрана - будут отскакивать в противоположную сторону.

6

Завершение игры
Наша игра почти завершена, всё что нам осталось сделать, это внести немного изменений.
   - Измените цвет фона, чтобы не был белым.
   - Из библиотеки добавьте графические объекты, такие как декоративные фоновые элементы (поверхность, облака и прочее).
   - Также можете добавить звуки.

На этом всё! Спасибо за потраченное время. Я надеюсь вы получили все необходимые умения и навыки для создания простой игры. Если у вас есть какие либо вопросы, не стесняйтесь, задавайте в этой теме.

>>РЕЗУЛЬТАТ РАБОТЫ<<

Похожие темы


Вы здесь » Знания в формате 4 и 5 » Clickteam Fusion 2.5 » CTF - Игра "Лови фрукт"