Занятие 2. Новые возможности для перемещения объектов и персонажей - пути. Создание клонов и порождаемых объектов. Опция Родитель 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Занятие 2. Новые возможности для перемещения объектов и персонажей - пути. Создание клонов и порождаемых объектов. Опция Родитель




На этом занятии ты познакомишься с тем, как создаются пути движения персонажей, научишься создавать клоны и порождения объектов, а также узнаешь, как научить объект “говорить”. Знакомство с опцией Родитель познакомит тебя с объектно-ориентированным программированием, которое используется для создания сложных программных систем.

Для справки

Объектно-ориентированное программирование - это программирование, в котором основными понятиями являются объекты и классы.

При таком программировании создается класс (например, “комната”), в который входят различные объекты (например, “кухня”). При этом каждый объект имеет общие характеристики, присущие всему классу (стены, пол, потолок, окно, дверь), но может приобретать и индивидуальные черты (например: раковина, плита, стол, стул и т.п.).


Для справки

 

Чтобы изменить линию движения любого персонажа, настроив её так, как это необходимо для игры, надо воспользоваться инструментом Путь в игровом мире Kodu.

Повторение пройденного

При изучении упражнений занятия 1 мы научились создавать коды для объектов игрового мира. Давайте вспомним пройденный материал.

В задании к самостоятельной работе упражнения 2 вам надо было добавить в игровой мир яблоко синего цвета и написать код, который бы запрещал Байкерам есть синие яблоки. На рис.2.1 представлен код с ошибкой. Найдите и устраните эту ошибку.

 

Рис.2.1 Ошибочный код

 

Упражнение 1.Создание произвольного пути движения игрового объекта. Сюжет игры: Байкердвижется по кругу.

Для успешного выполнения упражнения и создания игры, четко следуйте предложенному алгоритму:

  • Запустите программу Kodu.
  • Выберите команду Новый пустой мир (Empty World). Появится зеленое поле - основа для размещения игровых объектов в мире.
  • Добавьте объект Байкер. Для добавления объекта щелкните левой кнопкой мыши по зеленому игровому полю и выберите объект Байкер.
  • Нарисуйте круговую траекторию движения Байкера. Для создания пути следования объекта выберите инструмент Путь и при помощи точек отобразите путь следования Байкера, пример на рис. 2.2. Траекторию можно оборвать, нажав на Esc.

 


Рис. 2.2. Создание кругового пути следования объекта Байкер

Для справки Траекто́рия — линия в пространстве, представляющая собой множество точек, в которых находилось, находится или будет находиться тело при своём перемещении в пространстве.

 

  • Запрограммируйте движение Байкера по созданному пути, пример кода на

рис.2.3.

 

.


Рис.2.3. Программа для движения объекта по нарисованному пути

 

  • Запустите программу клавишей Esc и проверьте её работу. Байкер должен ездить по кругу.
  • Остановите программу клавишей Esc.
  • Сохраните программу под именем Байкер. Для сохранения программы надо выйти в главное меню (клавиша Home) и выбрать пункт Сохранить мой мир.

 

Задание для самостоятельной работы:  
  • Добавьте ещё одного Байкера, измените его цвет, например, на красный.
  • Нарисуйте путь его движения и обязательно измените цвет пути, например, на красный.
  • Напишите программу, в которой Байкердвижется по красному пути.
  • Напишите код, где в случае столкновения Байкеровдруг с другом они говорят «Извините!». Примеры пути и кода на рис. 2.4 и 2.5. Код для столкновения следует написать для обоих Байкеров!


Рис. 2.4. Создание пути движения для двух объектов Байкер

 

Рис. 2.5. Код программы, в которой при столкновении Байкеров произносятся извинения

Дополнительное задание:

· Выполнив задания этого занятия, поэкспериментируйте с игрой Tutorial 02. Проверьте, сможете ли вы составить программу, позволяющую управлять движением и стрельбой мотоцикла с помощью клавиатуры и мыши.

· Изучите также мир 3D Flare Paths, содержащий интересные графические эффекты и примеры представления трехмерных объектов.

· Пример путей, поднятых над поверхностью, вы можете увидеть в игре Rock Fight v09. Чтобы играть в эту игру, ее необходимо изменить, обеспечив ее работоспособность при отсутствии контроллера. Кроме того, необходимо изменить начальный экран, отобразив на нем сведения о клавишах, используемых для управления игрой.

Внимание!
Чтобы изменить содержимое начального экрана, выберите на главной панели инструментов значок гаечного ключа и измените параметр Start Game With: World Description («Отображать при начале игры: описание мира»).

Анализируя игры и играя в них, подумайте, каким образом используются пути и наклонные поверхности и как они влияют на активность действий в игре.

 

Упражнение 2.Создание клонов объектов. Сюжет игры:три Аэростатастреляют по Самолету.

 

Для справки Аэростат (возду́шный шар) — летательный аппарат легче воздуха, использующий для полёта подъёмную силу заключённого в оболочке газа (или нагретого воздуха) с плотностью меньшей, чем плотность окружающего воздуха (согласно закону Архимеда).

 

Для успешного выполнения упражнения и создания игры, четко следуйте предложенному алгоритму:

  • Создайте новый мир (Empty World). Разместите в нем объекты Самолет и Аэростат.
  • Напишите для Аэростата код, выполняющий следующие действия: когда Аэростат замечает вдали Самолет, звучит громкая музыка. Приближаясь к Самолёту, Аэростат начинает светиться.
  • Составьте программу, позволяющую управлять Аэростатом с помощью клавиатуры. Пример программы приведен на рис.2.6, строки 1 - 3.
  • Сохраните мир под именем Самолет.
  • Запустите программу на выполнение клавишей Esc. Подведите Аэростат к Самолету, послушайте музыку, которая была выбрана для игры.

Рис. 2.6. Код, управляющий работой Аэростата

  • Создайте эскадрилью Аэростатов из трех объектов. Для этого щелкните на уже имеющемся Аэростате правой кнопкой мыши и выберите пункт «Копировать», затем поместите указатель мыши туда, где надо создать новый Аэростат, щелкните правой кнопкой мыши и выберите пункт Вставить (Аэростат). Повторите вставку так, чтобы на поле оказалось три Аэростата.
  • Запустите игру и убедитесь, что все Аэростаты управляются и двигаются одновременно.
  • Добавьте код, позволяющий каждому Аэростату выстреливать Импульсы, рис.2.6, строка 4. Сколько раз нужно изменить код?
  • Сохраните игру, запустите её и убедитесь в работоспособности.

 

Для справки Клонирование — синоним копирования любых объектов.
Видеоурок от программистов Microsoft FUSELABS“Опция Родитель”.
Проверь себя! После просмотра видео, экспериментируя с местностью в cреде Kodu, ответьте на вопросы:
  • Что позволяет опция Родитель?
  • Для чего предназначен инструмент, изображенный на рис. 2.7?
Рис. 2.7. Для чего нужен этот инструмент?

 

  • Какие параметры (опции) объектов можно изменять?
  • Как получить информацию по опциям?
  • По каким признакам можно понять, что для персонажа включена опция Родитель?
  • Как сделать действие дочерним? что это означает?

 

Упражнение 3.Создание порожденных объектов. Сюжет игры:новая эскадрилья Аэростатовстреляет по самолету.

 

Для успешного выполнения упражнения и создания игры, четко следуйте предложенному алгоритму:

    • Откройте созданный в упражнении 2 мир Самолет.
    • Добавьте на игровое поле ещё одну группу Аэростатов, созданных при помощи технологии порождения. Для этого добавьте новый Аэростат, поменяйте его цвет, например на желтый.
    • Переместите созданный Аэростат за пределы игрового поля. Данный объект не будет виден в процессе игры, а нужен только для того, чтобы создавать новые объекты Аэростат.
    • Задайте созданному Аэростату параметр Родитель. Для этого щелкните правой кнопкой мыши по Аэростату и выберите пункт «Изменить установки». Активируйте параметр Родитель. Запустите программу на выполнение клавишей Esc и убедитесь, что новый Аэростат не виден. Остановите программу и перейдите в режим редактирования (клавиша Esc).
    • Создайте три Аэростата в новой эскадрилье. Для этого скопируйте созданный родительский Аэростат (правая кнопка мыши), а затем трижды вставьте объект Аэростат в любое место игрового поля. Если поместить указатель мыши на один из Аэростатов, между исходным и новым объектом появится пунктирная линия, показывающая, что эти Аэростаты входят в цепочку порождаемых объектов (рис.2.8).


Рис.2.8. Порожденные объекты Аэростат связаны с родительским объектом

 

· Напишите код для родительского Аэростата, заставляющий объекты двигаться к Самолету. Обратите внимание, что теперь код надо написать только один раз (для родительского объекта), в порождаемых объектах все строки кода добавляются автоматически.

· Сохраните программу, запустите её на выполнение, убедитесь в её работоспособности.

Задание для самостоятельной работы: Напишите код, позволяющий издавать звук взрыва при столкновении Аэростатовс Самолетом.
Упражнение 4.Опция Родитель Сюжет игры:Каждые 4 секунды объектКаменьсоздает новый объект Летающая рыба. Каменьстреляет ракетами по появляющимся рыбам.

 

Для успешного выполнения упражнения и создания игры, четко следуйте предложенному алгоритму:

· Загрузите программу Kodu;

· Загрузите мир Shooting Fish.

· Очистите мир от объектов.

· Создайте объект Летающая Рыба и измените её установки, включив опцию Родитель.

· Добавьте объект Камень и задайте ему действия таким образом, чтобы каждые 4 секунды он создавал объект Летающая Рыба. Используйте таймер и опцию Родитель. Пример кода приведен на рис. 2.9.

Рис. 2.9. Пример кода для создания объекта Рыба

· Создайте программу для Kodu, благодаря которой он сможет стрелять по появляющимся рыбам ракетами.

· Измените установки Kodu так, чтобы перезарядка ракетами происходила за минимальное время.

· Сохраните мир.

 

Блиц-опрос

1. Сколько различных путей можно нарисовать и запрограммировать в игре?

a. 5

b. 7

c. 11

d. 256

 

2. Какое действие следует выбрать для того, чтобы в группе одинаковых объектов можно было изменять код каждого объекта отдельно?

a. порождение

b. копирование

c. удаление

d. перемещение

 

3. Где находится опция Родитель?

a. в меню Программа

b. в меню Изменить установки

c. в Главном меню Редактировать мир

 

4. Какое действие следует выбрать для того, чтобы в группе одинаковых объектов можно было изменять код всех объектов одновременно?

a. порождение

b. копирование

c. удаление

d. перемещение

 

5. При выборе действия Сказать опции Полный экран происходит...

a. остановка игры и вывод запрограммированного текста на экран;

b. продолжение игры, запрограммированный текст выводится в левом верхнем углу экрана;

c. продолжение игры, запрограммированный текст выводится на весь экран;

d. остановка игры, запрограммированный текст произносится персонажем.

 

Вопросы профессионального программиста:   Итак, получив первый опыт программирования в Kodu, постарайся ответить на вопросы:

В чем преимущества визуального программирования? Сформулируй свое определение “Среда визуального программирования - это…”.

Обсудите с друзьями, какие задачи стояли перед разработчиками этой системы. Попробуйте создать перечень таких задач. Например:

a. Создать коллекцию ландшафтов

b. Запрограммировать возможность выбирать ландшафт из предлагаемого перечня и использовать его при моделировании территории

c. Создать коллекцию...

Это интересно...

Операционная система Windows 98 содержит 18 миллионов строк кода, а Windows XP (2002 год выпуска) уже 40 миллионов строк кода.

Это интересно...

Самая дорогостоящая в плане разработки игра называется ShenMue. Она была создана для Sega Dreamcast и обошлась разработчикам в 20 миллионов долларов.

 

Это интересно...

Крупнейшим игровым издателем в мире является компания Electronic Arts, в которой работает почти 5000 человек и которая ежегодно издает игр на сумму 3 миллиарда долларов.

Занятие 3. Знакомство с визуальной средой программирования Kodu: подсчёт баллов, индикатор здоровья, объект таймер

 

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

Использование таймера, индикатора здоровья и функции подсчета очков позволит придать игре профессиональный вид.

  Для справки  

Та́ймер (англ. timer - счетчик времени, от time: время) - в программировании называется объект, возбуждающий событие по истечении заданного промежутка времени. Событием является посылка сообщения, вызов функции, установка параметров объекта и т.д.

 

Упражнение 1.Назначение времени действия игрового объекта Сюжет игры:Завод выпускает мячи каждые 5 секунд и монеты каждые 10 секунд.  

Для успешного выполнения упражнения и создания игры, четко следуйте предложенному алгоритму:

● Загрузите программу Kodu

● Создайте новый пустой мир

● Добавьте объект Завод. При необходимости уменьшите размеры объекта. Уменьшение размеров объекта выполняется через выбор команды Уменьшить размер в меню объекта (открывается щелчком правой кнопки мыши по объекту).

● Напишите код для объекта Завод, согласно которому каждые 5 секунд Завод производит футбольный мяч, а каждые 10 секунд - монеты. Для написания кода щелкните правой кнопкой мыши по объекту Завод и выберите команду Программа. В открывшемся окне введите программу, содержащую команды (пример приведен на рис. 3.1):

When Таймер - 5 сек действия - запуск мяч.

When Таймер - 10 сек действия - создать - монета.

Рис. 3.1. Пример кода с использованием опций таймера и подсчета баллов

● Запустите программу на выполнение клавишей Esc. Обратите внимание на отличие действий Запуск и Создать. Действие Запуск характеризуется более динамичным действием по созданию объекта.

● Сохраните созданный игровой мир под именем Завод. Для сохранения нажмите клавишу Home и в главном меню выберите команду Сохранить мой мир.

 

Задание для самостоятельной работы: ● Попробуйте добавить код по выпуску снарядов каждые 60 секунд. ● Добавьте объект Спутники сделайте так, чтобы он запускал объекты Звездав интервале от 0 до 5 секунд. Пример кода приведен на рис. 3.2.  
Рис. 3.2. Пример кода, когда таймер срабатывает случайным образом в интервале между 0 и 5 секундами
  Для справки    

Генератор псевдослучайных чисел (ГПСЧ, англ. Pseudorandom number generator, PRNG) — алгоритм, порождающий последовательность чисел, элементы которой почти независимы друг от друга и подчиняются заданному распределению (обычно равномерному).

 

Упражнение 2.Начисление баллов за действия объекта Сюжет игры:За каждый мяч Заводполучает 1 балл, за выпуск монеты - 5 баллов.  

Для успешного выполнения упражнения и создания игры, четко следуйте предложенному алгоритму:

● Загрузите программу Kodu.

● Откройте созданный в упражнении 1 игровой мир Завод. Для загрузки мира выберите команду Загрузить мир в главном меню. Переход в главное меню через кнопку Home.

● Добавьте код для подсчета баллов. Пример кода приведен на рис.3.1 в строках 2 и 4. В строке 5 записана команда остановить игру если будет нажата клавиша Пробел:

When клавиша Пробел Do конец.

● Запустите программу на выполнение клавишей Esc. Примерный результат игры приведен на рис. 3.3. Нажмите клавишу Пробел для выхода из игры.

Рис. 3.3. Пример игры по выпуску мячей и монет и начисления баллов за работу

● Сохраните игру.

Задание для самостоятельной работы: ● Попробуйте изменить код программы так, чтобы за каждый мяч начислялось 10 баллов, а за каждый снаряд 20. ● Напишите программу, которая позволяет остановить игру, если набрано 100 баллов.

 

Задание для самостоятельной работы:

● В игре Shoting Fish задайте в программе объекта Камень строку, позволяющую производить счёт в игре (не забудьте сделать её дочерней).

● В программе для объекта Камень задайте условие окончания игры: появление в мире более пяти рыб.

● Добавьте в программе объекта Летающая рыба строку, отвечающую за вычитание одного очка из общего счёта, когда рыба теряет жизнь.

● Проведите эксперименты с разными условиями счёта.

● Сохраните игру

Видеоурок “Таймеры и подсчёт очков в Kodu Game Lab”

Проверь себя: рисунок добавить

1. Каким образом можно назначить увеличение/уменьшение счёта в игре?

2. Зачем может использоваться таймер? Как назначить измерение случайных интервалов времени?

3. Как сделать действие дочерним и каково основное свойство дочерних действий?

 

Дополнительное задание: Используя видео, создайте игру по предложенному сюжету. Объект Тарелка, двигаясь свободно по путям, создаёт красные яблоки с интервалом в 5 с, а также зелёные, через случайный интервал времени (в интервале от 10 до 20 с). Байкер поедает красные яблоки, за что получает одно очко. При съедании зелёного яблока Байкер уменьшает счёт на 5 очков. Сохраните созданную игру.



Поделиться:


Последнее изменение этой страницы: 2016-04-23; просмотров: 830; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.200.230.43 (0.064 с.)