Читаем Программирование на Scratch 2. Часть 2 полностью

Сделаем игру про двух котов. В неё можно будет играть вдвоём. На поле высыпаются 20 яблочек. Размер поля больше экрана, поэтому видны не все яблоки. Сначала, в течение 20 секунд яблоки собирает первый игрок, он старается собрать как можно больше, потом, яблоки рассыпаются снова, и к сбору урожая приступает второй кот. Кто больше соберёт, тот скажет: «Я выиграл!». В процессе игры Коты стоят неподвижно, а экран с яблоками и цветочками под ним прокручивается по вертикали и по горизонтали. Этот эффект называется вертикальный и горизонтальный скроллинг.

Сперва нарисуем фон и все спрайты. Фон просто зальём зелёным цветом с небольшим градиентом. Потом раскрасим и запрограммируем первого кота — Ваську. Потом сделаем второго кота — Рыжика, его раскрашивать не надо — он и так рыжий! После этого нарисуем и запрограммируем яблоко. Да-да, у нас будет только одно яблоко, а то, что вы видите на экране — это его клоны, о них потом поговорим подробнее. Когда яблоко будет готово, из него с помощью дублирования сделаем цветочки. Они будут расти на поле для красоты. С ними движение котов будет выглядеть реалистичней.

Начинаем с зелёного фона. Залейте фон зелёным цветом с небольшим градиентом.

Сцене сделайте маленькую программу по обнулению переменных. Создайте две переменные «очки 1» и «очки 2». Эти переменные будут считать количество собранных яблок.

Получились две переменные.

Сделайте для сцены такую программу.

Теперь приступаем к программированию поведения кота Васьки. Переименуйте Sprite1 в Ваську.

Сделайте ему простенькую программу из двух скриптов. Первый скрипт.

Не забудьте создать новое сообщение.

Назовите новое сообщение «рассыпать яблоки».

Создав первое событие, прикрепите к скрипту блок «передать «рассыпать яблоки». Второе событие создавайте только после того, как прикрепите первое событие с скрипту.

Когда первый скрипт будет готов, сделайте второй. Он будет работать в конце игры, при получении сообщения «очки». Если Васька наберёт больше яблок, чем Рыжик, то переменная «очки 1» будет больше переменной «очки 2», и Васька на весь двор объявит: «Я выиграл!». После этого работа программы будет остановлена блоком «стоп всё».

Первый котик готов. Дублируйте его и назовите Рыжиком.

Сейчас программа Рыжика такая же, как и у Васьки. Надо немного её изменить. Сначала удалите первый скрипт.

Вместо него создайте два маленьких скриптика. Первый скриптик скрывает Рыжика в начале игры, так как сначала очередь Васьки. Через двадцать секунд, когда миссия Васьки будет завершена, Рыжик получит сообщение «Очередь Рыжика» и приступит к сбору урожая. Ему тоже отведено двадцать секунд. После этого он передаёт сообщение «очки» и происходит подсчёт очков. Котик, который собрал больше яблок, скажет победные слова.

Третий скрипт Рыжика очень похож на такой же скрипт Васьки, только переменные надо переставить местами, и выкинуть блок «показать», ведь при подсчёте очков Рыжик и так виден.

Он только недавно закончил собирать яблоки, и ещё не успел никуда удрать.

Коты к соревнованию готовы. Осталось сделать яблочко и цветочек. Начнём с яблока, потом его дублируем, и переделаем в цветочек. Программы-то у них почти одинаковые. Добавьте из библиотеки спрайтов яблоко.

Дважды кликните по яблоку.

Переименуйте Apple в Яблоко.

Программа у яблока очень сложная. В ней шесть скриптов, и ни один из них не начинается с блока с зелёным флагом. Сначала нам необходимо создать две локальные переменные «Х яблока», и «Y яблока».

Эти переменные будут видны только самому яблоку и его клонам. Коты и цветочек не будут знать о существовании этих переменных, и никак не смогут их изменить.

Чтобы создать локальную переменную, надо поставить точку «Только для этого спрайта».

Создайте вторую переменную.

Локальные переменные готовы. Можете зайти в любого кота, и убедиться, что у него эти переменные не отображаются. Их видит только Яблоко. Глобальные переменные «очки 1» и «очки 2» видны всем спрайтам.

Переменные готовы, можно делать программу для Яблока. Создайте первый скрипт, он начинает работать, когда получит сообщение «рассыпать яблоки». Скрипт задаёт случайные координаты Х и Y, перемещает туда яблоко, и создаёт в этом месте его клон. Клон — это точная копия спрайта Яблоко.

Скрипты, управляющие клонами, всегда начинаются с блока «когда я начинаю как клон». Таких скриптов у яблока четыре штуки. Первый из них служит для организации скроллинга. При нажатии на стрелки клоны будут смещаться. Да-да, все клоны будут одновременно выполнять одно и то же действие, этот скрипт управляет сразу всеми клонами Яблока. Если Вы нажмёте стрелку вверх, то все клоны Яблока поедут вниз, Y изменится на минус три. Здесь нет ошибки, стрелка вверх - Y изменится на минус. Благодаря этому всеобщему движению яблок вниз, будет казаться, что кот идёт вверх! Коты на протяжении всей игры будут находиться на одном и том же месте экрана. Васька в левой части экрана, Рыжик в правой части экрана, но, несмотря на это, игроку будет казаться, что коты, как сумасшедшие, носятся по огороду, и собирают яблоки.

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT