You are currently viewing Разработка 2D-игр с ускоренным курсом разработки

Разработка 2D-игр с ускоренным курсом разработки

Видео текст:

[00:00] => g development — это 2d кросс-платформенный бесплатный
[00:03] => и игровой движок с открытым исходным кодом
[00:05] => уэсли и Макс преподают этот курс, они
[00:07] => как разработчики игр, так и преподаватели, и
[00:10] => этот курс — лучший способ получить
[00:12] => начал с разработки g
[00:14] => привет, меня зовут Уэсли, а это
[00:16] => максимум
[00:17] => и мы собираемся взять вас с нуля
[00:18] => знания, необходимые для выпуска игры с
[00:20] => развивайтесь в этом видео
[00:22] => я собираюсь начать нас с
[00:24] => общая планировка
[00:26] => [музыка]
[00:28] => разрабатывается при первой загрузке g
[00:31] => разработайте, вас встретит этот экран
[00:33] => отсюда вы можете открыть существующий
[00:35] => проект или начать совершенно новый
[00:37] => когда вы нажимаете на кнопку создать новый проект
[00:40] => вам будет предоставлена куча вариантов для
[00:41] => стартовые игры и примеры, которые мы собираемся
[00:44] => пропустите все это сейчас и просто идите
[00:46] => прямиком к пустой игре
[00:48] => когда ты начинаешь с нуля вот так
[00:50] => вам нужно добавить новую сцену, которая
[00:52] => где вы на самом деле будете создавать игру
[00:54] => чтобы все было организовано, это важно
[00:56] => чтобы убедиться, что вы даете свои сцены
[00:58] => соответствующие названия
[01:00] => с тех пор как мы открыли пустой игровой проект, мы
[01:02] => нужно открыть некоторые панели
[01:05] => здесь, в правом верхнем углу, вы увидите
[01:07] => посмотрите некоторые из вариантов
[01:08] => у вас также будет возможность добавить
[01:10] => сетку к вашему игровому проекту, чтобы помочь
[01:11] => упорядочить вещи и изменить уровень
[01:14] => увеличения
[01:15] => давайте начнем с панели объектов это
[01:17] => это то место, где вы собираетесь импортировать и
[01:19] => управляйте своими игровыми объектами
[01:20] => все, начиная с ваших персонажей и заканчивая вашим
[01:22] => плитки для
[01:24] => все ваши эффекты частиц будут отображаться
[01:26] => в этой панели
[01:27] => мы начнем с создания спрайта, который
[01:29] => наиболее часто используемый игровой объект
[01:32] => вы должны убедиться, что дали этому
[01:33] => название, которое имеет смысл
[01:34] => нажмите кнопку добавить анимацию
[01:36] => найдите искусство, которое вы хотите использовать
[01:38] => и откройте его, обязательно нажмите кнопку применить к
[01:41] => сохраните любую работу, которую вы сделали
[01:42] => а затем вы можете просто перетащить объект
[01:44] => прямо с панели в игру
[01:46] => пространство
[01:48] => вы можете перетащить, чтобы щелкнуть по нескольким
[01:50] => объектов за раз и используйте середину
[01:52] => кнопка мыши для перемещения сцены по кругу
[01:53] => и увеличивайте и уменьшайте масштаб
[01:55] => следующая панель предназначена для групп объектов
[01:58] => это полезный инструмент, который позволяет вам ориентироваться
[02:00] => группа объектов в отличие от каждого
[02:02] => индивидуальный, когда вы хотите сделать
[02:04] => вещи с ними, например, я мог бы
[02:06] => есть куча
[02:07] => сердца, зелья, продукты питания и
[02:09] => вызовите все эти исцеляющие предметы, а затем
[02:12] => я мог бы сделать одно событие, которое делает
[02:13] => это так, что если игрок находится в столкновении
[02:15] => с одним из тех целебных предметов, которые они получают
[02:17] => исцеленный
[02:18] => вместо того, чтобы устраивать другое мероприятие для
[02:20] => каждый отдельный элемент в списке
[02:22] => далее следует панель свойств, когда
[02:24] => эта панель открыта, и вы нажимаете на
[02:26] => объект, вы сможете увидеть их положение
[02:28] => угол порядка z и так далее
[02:30] => и с этой панели вы можете на самом деле
[02:32] => контролировать все эти вещи
[02:34] => перемещая их по кругу меняя их угол наклона
[02:36] => и изменение их порядка z
[02:38] => именно это решает, является ли объект
[02:39] => находится позади или перед другим
[02:42] => и это хороший переход к разговору
[02:43] => о слоях
[02:44] => с помощью панели слоев вы можете создавать
[02:46] => различные слои для размещения объектов на
[02:48] => таким образом, вы можете создать передний план
[02:50] => середина и фон, а также пользовательский интерфейс
[02:52] => слои и слои меню
[02:54] => как правило, вы ставите большую часть своей игры
[02:56] => объекты на базовом слое и имеют это
[02:58] => камера следит за игроком, имея
[03:00] => все ваши объекты пользовательского интерфейса и меню на
[03:02] => разные слои, где находится камера
[03:04] => стационарный
[03:05] => с этой панели вы также можете добавлять эффекты
[03:07] => для слоев измените их свойства
[03:10] => и переключать их видимость
[03:14] => вернуться к панели свойств
[03:16] => вы также можете использовать эту панель для изменения размера
[03:18] => объекты
[03:23] => но будьте осторожны, делая это, потому что
[03:25] => изменение разрешения изображения может
[03:27] => действительно сделать его размытым
[03:30] => последняя панель предназначена для списка экземпляров
[03:33] => это может быть полезным инструментом для поиска
[03:34] => где что находится в вашем игровом проекте
[03:36] => особенно когда они стали такими большими
[03:38] => что ты не можешь сказать, где что находится
[03:40] => больше не
[03:41] => вы заметите эти вкладки окна вверху
[03:43] => начальная страница, а затем ваша основная сцена
[03:45] => страница
[03:46] => где выполняется все построение игры
[03:48] => а затем этот список событий сцен
[03:51] => где происходит вся черная магия, но
[03:53] => мы вернемся к этому в другом видео
[03:56] => вверху слева вы можете открыть свой
[03:57] => менеджер проекта и в настройках игры
[04:00] => вы найдете недвижимость именно здесь
[04:02] => вы будете делать такие вещи, как изменение правил игры
[04:04] => имя дайте ему номер версии пакет
[04:07] => назовите автора войдите в свой профиль
[04:10] => и измените разрешение игры, которое
[04:12] => это то, что вы обязательно должны сделать
[04:14] => потому что очень немногие устройства работают по умолчанию
[04:15] => до 800×600
[04:17] => вы также можете указать движку здесь, как
[04:19] => расширьте игру, чтобы соответствовать размерам
[04:21] => экран, на котором он находится
[04:22] => а также настройка максимального и минимального
[04:24] => частота кадров, с которой будет работать игра
[04:26] => для мобильных устройств вы можете выбрать
[04:28] => работает ли игра в портретном режиме
[04:30] => или ландшафтный режим, а затем вы можете включить
[04:32] => включение и выключение сглаживания единственного реального
[04:34] => причина, по которой вы отключили бы эту функцию
[04:36] => это если в вашей игре используется пиксельная графика
[04:39] => и если в вашей игре есть реклама, то
[04:41] => именно здесь вы бы разместили свое приложение
[04:42] => идентификатор
[04:43] => вы также можете отредактировать начальную версию игры
[04:45] => загрузочный экран отсюда
[04:47] => остальные настройки игры проекта
[04:49] => имеет глобальные переменные, к которым мы перейдем
[04:52] => в другое время
[04:53] => значки, которые являются вашим рабочим столом и
[04:56] => значки мобильных приложений
[04:58] => и ресурсы, куда вы можете пойти
[05:01] => чтобы увидеть все активы, которые находятся в вашем
[05:02] => файл игры
[05:04] => здесь есть несколько вариантов, которые вы
[05:05] => может понадобиться
[05:06] => например, когда отдельные объекты размыты
[05:08] => или если объект или звуковой эффект
[05:10] => заикаясь, прежде чем он загрузится в
[05:12] => остальная часть вкладки «проект» имеет
[05:15] => сцены, о которых мы уже говорили
[05:16] => о внешних событиях и макетах, которые
[05:19] => мы планируем объяснить в другом видео
[05:23] => а затем функции и поведение, и если
[05:25] => вы хотели использовать предварительно построенный
[05:27] => расширения, которые включают в себя такие вещи, как
[05:30] => дающий врагам здоровье и различные
[05:32] => системы движения, то это было бы
[05:34] => место, где можно их получить
[05:35] => и мы собираемся решить эту проблему в
[05:37] => еще одно видео, а также
[05:39] => давайте закроем этот проект и откроем один из
[05:42] => стартовые игры
[05:45] => вы увидите, что все игровые
[05:46] => объекты загружены в объекты
[05:47] => панель, а также события и игра
[05:49] => сам
[05:50] => теперь в левом верхнем углу
[05:52] => две последние вещи, о которых нужно поговорить, это
[05:54] => кнопка экспорта, которая является тем, что вы
[05:56] => будет полезно, когда вы закончите строительство
[05:58] => ваша игра, и вы хотите выпустить ее для
[05:59] => общедоступный и кнопка предварительного просмотра, которая
[06:02] => это то, что вы бы использовали для игры, чтобы проверить свои
[06:04] => собственная игра
[06:05] => когда вы нажмете на эту кнопку, она будет воспроизводиться
[06:06] => с какой бы сцены вы ни находились в данный момент
[06:08] => это откроет окно, и я смогу просто
[06:10] => играть
[06:11] => но еще одна последняя вещь, прежде чем ты уйдешь
[06:13] => это то, чего я не знал
[06:15] => о том, что даже несмотря на то, что я использовал двигатель
[06:16] => уже более двух лет
[06:18] => и вы видите все эти панели, которые они могут
[06:20] => все двигаются
[06:21] => так вот, это не революционно, но это
[06:24] => позволяет вам настраивать свой
[06:25] => рабочее пространство и настройте его так, чтобы оно работало
[06:28] => лучшее для тебя
[06:29] => хотя это, вероятно, не так, как
[06:31] => разработчики думали, что люди будут им пользоваться
[06:35] => далее я собираюсь перейти к объекту
[06:37] => типы в gdevelop
[06:38] => [музыка]
[06:41] => мы начинаем с основной сцены и далее
[06:44] => с правой стороны вы увидите
[06:45] => объекты, которые я импортировал в игру
[06:47] => мы собираемся нажать на кнопку добавить новый объект
[06:50] => и отсюда вы увидите все
[06:51] => варианты
[06:52] => однако мы собираемся начать с
[06:54] => наиболее часто используемый объект, который является
[06:55] => фея
[06:57] => которые мы уже обозначили в
[06:58] => сцена в роли игрока
[07:01] => спрайты могут иметь разные
[07:02] => анимации, которые вы добавляете в каждый кадр
[07:04] => анимации выберите скорость, с которой
[07:06] => анимация воспроизводится на и решает, следует ли или
[07:08] => не следует зацикливаться
[07:10] => вы также можете пометить анимацию, чтобы сделать
[07:12] => их легче использовать позже
[07:14] => чтобы добавить больше анимации к спрайту, просто
[07:16] => нажмите кнопку добавить анимацию
[07:18] => здесь, в левом нижнем углу, вы
[07:20] => можно редактировать маску столкновения спрайта
[07:22] => вы также можете редактировать точки, которые находятся на
[07:24] => спрайт в нижней левой части, как
[07:26] => хорошо
[07:27] => каждому объекту можно придать поведение и
[07:29] => эффекты
[07:30] => поведение — это заранее построенная игровая логика, которая
[07:32] => вы можете использовать, чтобы помочь создать свою игру
[07:34] => быстрее
[07:35] => итак, если мы дадим игровому персонажу
[07:37] => поведение платформера
[07:39] => вы можете видеть, что там есть куча цифр
[07:40] => здесь, что вы можете настроить, но вы можете
[07:42] => оставьте их по умолчанию, если хотите
[07:44] => и тогда, если мы дадим игроку персонажа
[07:46] => эффект падающей тени мы получаем
[07:48] => персонаж, у которого есть тень и один
[07:50] => который может двигаться, когда вы нажимаете стрелку
[07:52] => ключи
[07:53] => краткое примечание к платформеру
[07:54] => поведение, если вы не уступаете дорогу
[07:56] => что они стоят на платформе
[07:58] => поведение, то ваш персонаж будет просто
[08:00] => выпадать из экрана
[08:02] => кстати, о земле
[08:04] => давайте перейдем к следующему объекту, который
[08:06] => это плиточный спрайт, мы используем плиточные спрайты
[08:09] => потому что, если вы возьмете обычный спрайт и
[08:11] => попробуйте изменить его размер, он будет масштабироваться
[08:14] => в то время как плиточные спрайты будут дублироваться
[08:16] => вместо изменения размера, чтобы вы могли использовать
[08:19] => это для множества разных вещей
[08:20] => нравится дизайн уровней и пользовательский интерфейс
[08:23] => следующий тип объекта — текст, который вы можете
[08:26] => измените размер цвет и шрифт этого
[08:29] => возражать, а затем писать в том, что вы
[08:31] => хотел бы заполнить его
[08:32] => и затем вы можете использовать систему событий для
[08:34] => измените то, что написано в этом объекте
[08:36] => во время вашей игры
[08:38] => следующий — это излучатель частиц, который вы можете
[08:40] => используйте излучатель частиц для целого
[08:42] => диапазон вещей, но два самых
[08:44] => важными частями являются
[08:45] => вид частиц, которые входят в точечную линию
[08:48] => и текстура
[08:50] => текстура — это та, которую вы можете импортировать
[08:51] => себя, чтобы создать любой вид
[08:52] => частица, которую вы хотите, и количество
[08:55] => частицы в резервуаре
[08:57] => если это значение равно отрицательному, то
[08:59] => излучатель частиц останется там навсегда
[09:00] => в вашей игре, если она настроена на положительный
[09:02] => число, то он будет использовать столько
[09:04] => частицы, а затем остановитесь
[09:06] => вы можете либо разместить их в сцене, чтобы
[09:08] => начните, когда начнется сцена, или используйте
[09:10] => система событий, позволяющая создавать их везде, где вы
[09:11] => нуждаюсь в них
[09:13] => далее идет девять спрайтов коммутационной панели, которые вы
[09:16] => импорт изображения
[09:17] => и тогда проще всего показать вам это
[09:19] => из вики вы указываете размер вашего
[09:21] => поля в спрайт девяти коммутационных панелей
[09:24] => и тогда она будет расширяться таким образом, что
[09:25] => вы видите на экране
[09:27] => поддержание соотношения внешнего
[09:29] => края
[09:30] => и это можно использовать для пользовательского интерфейса диалоговых окон
[09:32] => дизайн и куча разных вещей
[09:35] => художник по фигурам также проще всего
[09:37] => объясните на примере в вики
[09:41] => в принципе, это можно использовать для создания
[09:43] => диапазон форм для путевых точек пользовательского интерфейса
[09:47] => инструменты выбора и тому подобное
[09:50] => объект ввода текста используется для ввода
[09:53] => текст вы создаете объект помещаете его в
[09:55] => сцену, а затем с помощью этого простого события
[09:58] => и текстовый объект «привет, мир», который мы
[10:01] => сделанная ранее игра будет записывать и
[10:03] => отображать то, что я набираю на клавиатуре
[10:07] => далее идет текст bb, который очень
[10:09] => аналогично базовому текстовому объекту, но
[10:11] => вы можете делать больше вещей со шрифтами
[10:13] => и последствия
[10:14] => если вам не нужно использовать эти эффекты
[10:16] => вам лучше просто использовать базовый
[10:17] => текстовый объект
[10:19] => световой объект может быть использован для создания
[10:21] => несколько динамичных теней
[10:23] => я просто создаю объект, помещаю его в
[10:25] => сцену, а затем дать игроку персонажа
[10:27] => поведение легкого препятствия, а затем вы
[10:29] => может видеть, что свет становится
[10:30] => препятствие, вызванное столкновением игрока
[10:32] => маска, которую мы установили ранее
[10:35] => последнее видео типа объекта довольно
[10:38] => прямолинейный, вы просто выбираете
[10:39] => объем непрозрачности видео, а затем импортировать
[10:42] => видео
[10:43] => лучше всего использовать mp4 для
[10:44] => причины совместимости
[10:46] => и тогда вы сможете контролировать остановку
[10:47] => и запуск видео через
[10:49] => система событий
[10:51] => теперь, когда с этим покончено, мы можем
[10:53] => начните говорить о системе событий
[10:56] => [музыка]
[10:58] => мы начнем со сцены, которую я поставил
[10:59] => поднимитесь и зайдите в список событий
[11:02] => отсюда мы можем добавить событие
[11:04] => и мы увеличим масштаб, чтобы сделать его больше
[11:06] => читаемый
[11:07] => таким образом, самый простой способ думать о
[11:09] => кодовая система
[11:10] => стоит подумать о том, если тогда
[11:13] => так что, если эта сторона сторона условия
[11:16] => это правда
[11:18] => затем
[11:19] => эта сторона
[11:20] => сторона действия
[11:21] => произойдет
[11:23] => поэтому я собираюсь организовать простое мероприятие
[11:25] => я собираюсь искать нажатую клавишу и
[11:28] => затем введите
[11:30] => а затем для действия
[11:32] => я мог бы поискать это снова
[11:34] => но я также могу нажать на объект
[11:36] => и это даст мне список вещей
[11:37] => это будет относиться только к тому объекту, который я
[11:39] => мог бы поискать в этом списке, чтобы найти
[11:41] => вещи, которые я хочу
[11:43] => но поскольку я знаю, чего хочу, я просто
[11:45] => собираюсь ввести силу
[11:47] => и выберите добавить силу
[11:49] => я собираюсь придать ему позитивную силу в
[11:51] => в направлении x, а затем 0 в направлении y
[11:53] => направлении, и я собираюсь оставить его на
[11:55] => мгновенный, потому что мгновенная сила будет
[11:57] => применять только в том случае, если условие выполнено
[11:59] => принимая во внимание, что постоянные силы останутся с
[12:01] => этот объект постоянно, и теперь, когда я
[12:03] => нажмите предварительный просмотр и удерживайте нажатой клавишу d
[12:06] => объект игрока будет очень медленно двигаться
[12:08] => справа в конце списка событий я
[12:11] => вы можете добавить больше событий, нажав здесь
[12:14] => здесь или щелкнув правой кнопкой мыши и выбрав
[12:17] => новое событие
[12:18] => теперь я могу перетащить это событие и перевернуть
[12:20] => это в под-событие нашего оригинального
[12:22] => событие я добавлю действие поворот выбор
[12:26] => игроку и придайте ему угловую скорость
[12:29] => я также собираюсь увеличить скорость для
[12:31] => событие применить силу
[12:33] => и теперь, когда я нажимаю d, символ
[12:35] => вращается и движется быстрее
[12:37] => то, что происходит, это
[12:39] => главное событие проверяется, чтобы увидеть
[12:40] => если его условия верны и если эти
[12:42] => условия верны, тогда он будет двигаться
[12:44] => вниз и проверьте вспомогательные события
[12:46] => но если мы перенесем это событие и перевернем
[12:49] => это снова превратилось в обычное событие, у которого нет
[12:51] => условия
[12:53] => поэтому, когда мы сейчас просматриваем игру,
[12:55] => персонаж будет постоянно вращаться
[12:57] => но все равно, когда я нажму клавишу d, это будет
[12:59] => подвинься
[13:00] => я могу копировать и вставлять существующие события
[13:02] => вместо того, чтобы просто постоянно создавать новые
[13:04] => единицы, а затем я могу изменить это, чтобы сделать
[13:07] => это влияет на другой объект
[13:08] => понимая, что это может быть немного
[13:10] => трудно понять, что я собираюсь его создать
[13:12] => заключительное мероприятие
[13:13] => я мог бы нажать на другие условия и
[13:15] => вручную выполните поиск условия, при котором я
[13:17] => нуждаюсь, но так как я знаю, чего я хочу
[13:18] => уже сейчас я просто собираюсь поискать в
[13:21] => начало сцены
[13:23] => это условие, которое вызывает только
[13:24] => один раз в начале сцены
[13:27] => а затем я добавлю камеру с зумом и наберу
[13:29] => в 2.
[13:32] => вы можете удалять отдельные действия и
[13:34] => условия, выбрав их и
[13:36] => нажатие кнопки удалить, а также целые события
[13:39] => а затем вы можете нажать ctrl z или control
[13:41] => y, чтобы отменить или повторить все, что вы сделали
[13:45] => вы можете щелкнуть событие правой кнопкой мыши и переместить его
[13:47] => в группу
[13:48] => группы полезны для организации вашего
[13:50] => проект
[13:51] => присвоение этим соответствующим именам является
[13:52] => невероятно важный
[13:54] => есть еще несколько вещей, которые вы
[13:56] => можете добавить в свой список событий, например
[13:58] => комментарии, которые помогут вам обозначить свой
[14:00] => игровые события, чтобы напомнить вам о том, что каждый
[14:01] => один делает
[14:02] => пара наиболее полезных типов событий
[14:04] => которые вы можете добавить для каждого объекта
[14:07] => это событие, которое будет повторяться каждый
[14:09] => рамка для каждого объекта этого типа в
[14:11] => игра такова, что если у меня есть 20 игровых объектов
[14:14] => в игре, то это повторится для всех
[14:16] => 20 объектов игрока
[14:17] => другим часто используемым типом события является
[14:19] => повторять
[14:20] => который, как следует из названия, является тем, который
[14:23] => вы можете настроить повторение x количества
[14:25] => раз за кадр
[14:27] => и кстати о каждом кадре
[14:29] => движок считывает список событий один раз за
[14:32] => рамка
[14:33] => если вы обратитесь к руководителю проекта, вы сможете
[14:35] => убедитесь, что в игре по умолчанию установлено принудительное
[14:37] => игра должна проходить между 20 кадрами в
[14:39] => секунду и 60 кадров в секунду
[14:41] => вы можете отредактировать их, если вам нужно
[14:43] => но я бы вообще оставил это в покое
[14:46] => давайте быстро поговорим об организации
[14:48] => и я покажу вам, почему это важно
[14:49] => после
[14:50] => если мы откроем одну из стартовых игр
[14:52] => которые вы можете использовать
[14:54] => вы можете видеть, как хорошо все устроено
[14:56] => есть с комментариями и вспомогательными событиями
[14:58] => настройте, чтобы убедиться, что легко
[15:00] => понять с первого взгляда, а не
[15:02] => необходимость читать каждое событие, чтобы увидеть, что
[15:03] => каждый из них делает
[15:05] => но вы можете и дальше организовывать свою игру
[15:07] => использование групп
[15:08] => чтобы сгруппировать все вместе
[15:10] => затем вы можете выбрать цвет для группы
[15:12] => заголовок
[15:14] => и комментарии
[15:17] => чтобы показать вам, почему организация так
[15:19] => важно, я открою события для
[15:21] => игра-джем, игра, которую я сделал
[15:23] => если вы не организуете свои мероприятия из
[15:25] => в начале вы обнаружите, что это выходит наружу
[15:27] => из рук
[15:28] => очень быстро
[15:30] => пока вы не дойдете до того момента, когда это
[15:31] => почти невозможно что-либо исправить в
[15:33] => твоя игра, потому что ты не знаешь, где
[15:35] => событие является
[15:36] => вы можете использовать строку поиска, чтобы попытаться
[15:38] => найти его, но иногда это просто не
[15:40] => достаточно
[15:42] => и теперь, когда у нас есть событие
[15:43] => достаточно сложно, чтобы показать вам, как это
[15:44] => работает, я собираюсь очень быстро уйти
[15:46] => над тем, как движок проверяет события
[15:48] => таким образом, каждый кадр проверяется список событий
[15:51] => но он проверяет список событий сверху вниз
[15:53] => дно
[15:54] => проверка каждого условия сверху донизу
[15:56] => дно, а затем, если это условие
[15:58] => истинный
[15:59] => затем
[15:59] => все эти действия будут происходить из
[16:02] => сверху вниз
[16:04] => теперь, когда вы знаете основы
[16:05] => система событий я могу просмотреть все инструменты
[16:08] => эта разработка интегрировалась в
[16:09] => двигатель, который поможет вам прыгнуть прямо в
[16:11] => создание игр
[16:14] => когда вы откроете разработку, вам будет дано
[16:16] => возможность создать новый проект или
[16:18] => откройте существующий
[16:20] => если вы нажмете на кнопку создать новый проект
[16:22] => вы увидите список начальных игр и
[16:24] => примеры, на которых вы можете учиться и
[16:26] => сборка, из которых все находятся под управлением mit
[16:28] => лицензия
[16:30] => это означает, что вы можете свободно использовать
[16:31] => что-нибудь здесь есть
[16:32] => для ваших проектов, которые просто для удовольствия
[16:34] => или коммерчески
[16:36] => если мы вернемся к этим стартовым играм и
[16:38] => нажав на один из них, вы увидите, что это
[16:40] => загружены все объекты и события
[16:42] => требуется для этой игры
[16:44] => если я нажму на предварительный просмотр, я смогу просто играть
[16:46] => эта игра как есть
[16:48] => большинство из этих стартовых игр — это просто
[16:50] => базовая логика, необходимая для такого типа
[16:52] => игра, поэтому у них обычно будет только одна
[16:54] => примерный уровень в них, но вы можете построить
[16:56] => на них, если ты хочешь
[16:58] => если мы вернемся к игре, в которой я был
[16:59] => использование в предыдущем видео
[17:01] => я могу показать вам поведение
[17:03] => поведение — это заранее построенная логика, которая будет
[17:05] => поможет вам сделать ваши игры быстрее
[17:07] => вы увидите, что там есть куча таких
[17:09] => которые поставляются вместе с двигателем
[17:10] => но у нас также есть сообщество, построенное
[17:12] => поведения
[17:13] => созданные другими разработчиками игр, которые
[17:15] => вы можете найти, нажав здесь и
[17:16] => поиск этих моделей поведения
[17:18] => краткое примечание здесь
[17:20] => эти модели поведения, построенные сообществом, являются
[17:22] => то же самое, что и расширения, созданные сообществом
[17:24] => единственная разница в том, что они
[17:26] => отфильтровано, чтобы показывать вам только те, которые
[17:28] => применить к объекту
[17:29] => если вы хотите ознакомиться с полным списком
[17:31] => расширения, которые вы можете найти здесь
[17:34] => если мы вернемся к поведению по умолчанию
[17:37] => мы можем нажать на движение сверху вниз
[17:39] => и выключите вращение
[17:41] => и тогда у нас появится персонаж, который будет
[17:42] => перемещаться по экрану, когда я нажимаю
[17:44] => клавиши со стрелками
[17:47] => так что теперь, если я вернусь, я смогу добавить еще один
[17:49] => поведение, и я собираюсь выбрать перетаскиваемый
[17:52] => объект
[17:53] => так что теперь у меня есть персонаж, который может
[17:54] => перемещайтесь с помощью клавиш со стрелками
[17:56] => и я могу таскать его повсюду с помощью
[17:58] => мышь, но теперь, когда я покончил с ними, я
[18:01] => можете удалить их
[18:03] => а теперь мы поговорим о пискеле
[18:05] => встроенный редактор изображений движка
[18:08] => я в основном использовал это, чтобы исправить
[18:10] => ориентация изображения путем его переворачивания
[18:12] => или вращать его, но вы можете использовать это для
[18:15] => создавать совершенно новые изображения или редактировать
[18:17] => существующие из них
[18:19] => следующий шаг — инструмент для создания звука jfxr
[18:23] => если вы включаете действие, воспроизводите звук
[18:25] => вы увидите подсказку, которая позволит вам
[18:27] => откройте jfxr инструмент, который можно использовать для
[18:30] => создавайте целый ряд различных звуков с помощью
[18:32] => корректирующие ползунки вручную
[18:34] => или путем рандомизации их таким образом
[18:51] => далее следует библиотека ресурсов движка
[18:54] => если вы нажмете на кнопку добавить новый объект
[18:56] => вы можете нажать здесь, чтобы создать его из
[18:57] => царапина
[18:58] => или вы можете выполнить поиск в библиотеке активов
[19:01] => который в настоящее время курируется вручную
[19:03] => коллекция художественных ценностей, которые вы можете
[19:04] => свободно используйте в своих играх
[19:06] => когда вы нажимаете на ресурс, который вам нравится
[19:08] => вы сможете увидеть, какой художник
[19:10] => создал его и какая лицензия на активы
[19:12] => находятся под
[19:14] => вы можете нажать на лицензию, чтобы быть
[19:15] => перенесен на страницу, которая объяснит
[19:16] => лицензия для вас
[19:19] => лицензия cc0, например
[19:21] => означает, что вам разрешено использовать эти
[19:22] => активы в вашей игре, будь то
[19:25] => коммерческий или нет, без необходимости
[19:27] => отдайте должное художнику
[19:29] => другие ресурсы в библиотеке, однако, могут
[19:31] => находиться под другой лицензией, которая была бы
[19:32] => требую, чтобы вы отдали должное художнику
[19:35] => если вам нравится какое-то конкретное произведение искусства
[19:37] => вы можете нажать на имя исполнителя
[19:39] => и это приведет вас к большему количеству работ по
[19:40] => художник
[19:42] => это, например, Кенни арт
[19:44] => который является художником, чьи работы я
[19:45] => на самом деле использую прямо сейчас
[19:47] => поэтому, чтобы продолжать использовать их искусство, я собираюсь
[19:49] => чтобы захватить эту фоновую плитку, нажмите на
[19:51] => добавьте его в игру
[19:52] => а затем я собираюсь создать
[19:53] => фоновый слой и поместите на него изображение
[19:56] => обязательно нанесите фоновый слой
[19:58] => ниже базового слоя, так что он находится за ним
[20:00] => и тада
[20:02] => моя игра теперь стала более интересной
[20:04] => фон
[20:05] => итак, вот некоторые из инструментов, которые
[20:07] => компания development собралась вместе, чтобы помочь вам
[20:09] => в начале процесса создания игры
[20:11] => у вас есть стартовые игры и примеры
[20:13] => встроенное поведение и поведение, построенное сообществом
[20:16] => пиксель для редактирования изображений jfxr поможет
[20:19] => вы с вашими звуковыми эффектами и
[20:21] => библиотека активов
[20:27] => так что, если я дам игроку персонажа
[20:29] => поведение платформера
[20:31] => дайте земле поведение платформы
[20:34] => и мы дадим
[20:36] => поведение физического движка 2.0
[20:39] => а потом для смеха мы дадим
[20:40] => земля
[20:41] => поведение физики также
[20:56] => для следующей порции Макс собирается
[20:58] => возьмите на себя управление и объясните, как работают переменные
[21:00] => в процессе разработки
[21:02] => [музыка]
[21:06] => таким образом, переменные используются всякий раз, когда вы хотите
[21:08] => для хранения некоторой информации о вашем
[21:10] => игра, например, может быть, у игрока
[21:12] => здоровье или счет игрока
[21:14] => в разработке переменная может жить в одном
[21:17] => из трех мест
[21:18] => он может жить в сцене, что полезно
[21:20] => для таких вещей, как оценка уровня, которая
[21:22] => явно привязанный к определенной сцене
[21:25] => он может жить на объекте, который является
[21:27] => полезно для таких вещей, как здоровье врага, которое
[21:29] => привязаны к определенным объектам в этом
[21:31] => случай врагов или он может жить глобально
[21:34] => что полезно для таких вещей, как, скажем,
[21:36] => игрок выбрал имя пользователя, которое необходимо
[21:38] => быть доступным отовсюду в пределах вашего
[21:40] => проект
[21:41] => давайте начнем с того, что взглянем на сцену
[21:43] => переменные
[21:46] => как вы можете видеть, у нас здесь есть основной
[21:48] => платформер, однако, когда мы идем, чтобы забрать
[21:50] => монета счет не увеличивается
[21:53] => мы можем исправить это с помощью переменных
[21:58] => начните с перехода к свойствам сцены
[22:01] => а затем нажмите на редактировать сцену
[22:02] => кнопка переменных
[22:05] => здесь вы можете просмотреть всю вашу сцену
[22:07] => переменные, а также добавлять новые
[22:11] => мы начнем с добавления нового балла
[22:12] => переменная и установка ее начального значения
[22:14] => до нуля
[22:16] => затем, когда игрок сталкивается с
[22:18] => монета
[22:19] => мы добавим новое изменение переменной сцены
[22:22] => действие
[22:23] => который добавляет к переменной оценке
[22:25] => значение 1.
[22:29] => затем мы добавляем новое действие без
[22:31] => условие, которое изменяет текст сцены
[22:33] => объект
[22:34] => мы будем использовать функцию переменной строки
[22:37] => что позволяет нам получить доступ к сцене
[22:39] => переменная из любого места
[22:41] => а затем укажите переменную оценки и
[22:43] => затем, наконец, поставьте текстовую оценку впереди
[22:46] => использование оператора объединения или плюса
[22:49] => чтобы соединить текст с переменной
[22:54] => конечно же, наш счетчик очков теперь
[22:56] => работает так, как задумано
[23:00] => далее давайте взглянем на объект
[23:02] => переменные
[23:04] => прямо сейчас наш слизистый враг не двигается
[23:06] => и чего бы нам хотелось, так это чтобы он двигался
[23:08] => вперед и назад между этими двумя маркерами
[23:12] => мы можем начать с открытия выпадающего списка
[23:14] => меню на объекте слизи и выбор
[23:16] => опция редактировать переменные объекта
[23:19] => это даст нам список всех наших
[23:21] => объектные переменные в этом конкретном
[23:23] => объект
[23:24] => мы можем начать с добавления нового направления
[23:26] => переменная с начальным значением left
[23:30] => затем в нашем листе событий мы можем добавить в
[23:32] => слизь текст объектной переменной
[23:35] => действие, которое задает направление влево
[23:40] => мы называем это включением слизи
[23:42] => с помощью левого маркера, и тогда мы сможем сделать
[23:44] => то же самое и для правых
[23:48] => затем мы можем использовать текст объекта
[23:50] => переменное условие для проверки направления
[23:53] => переменная
[24:00] => когда он останется, мы включим наш
[24:02] => игровая логика для перемещения слизи в
[24:03] => осталось в этом случае добавить силу и
[24:06] => установка состояния переворота
[24:08] => и тогда мы сможем сделать то же самое для
[24:10] => правильное направление, а также
[24:12] => и теперь наша слизь больше не
[24:14] => стационарный
[24:17] => обратите внимание, что, хотя мы написали все
[24:19] => события сами по себе для этого примера, чтобы
[24:21] => продемонстрировать, что существует множество
[24:23] => отличное поведение для того, чтобы сделать это для
[24:25] => ты у нас должно быть видео о поведении
[24:27] => скоро, если это вам чуждо
[24:30] => наконец, давайте взглянем на глобальный
[24:32] => переменные
[24:34] => допустим, что наш платформер имеет
[24:36] => несколько уровней
[24:38] => если мы посмотрим на счет по мере перехода
[24:40] => между этими уровнями вы увидите, что это
[24:42] => сбрасывает
[24:43] => хотя это может быть тем, чего мы хотим, мы также
[24:45] => возможно, вам захочется больше глобальной оценки, которая
[24:47] => остается прежним, когда мы переходим
[24:49] => между двумя уровнями
[24:51] => мы можем начать с того, что перейдем к проекту
[24:53] => менеджер, где мы найдем глобальный
[24:55] => кнопка переменных
[24:58] => затем мы можем добавить переменную оценки намного
[25:01] => как мы делали ранее для сцены
[25:05] => теперь все, что нам нужно сделать, это изменить наш
[25:06] => действие переменной сцены в
[25:08] => соответствующий глобальный
[25:16] => а затем замените нашу переменную строкой
[25:18] => функция со строкой глобальной переменной
[25:20] => функция
[25:25] => и теперь, конечно же, ваш счет будет расти
[25:28] => далее через переход сцены
[25:30] => очень милый
[25:33] => теперь, когда мы разобрались с переменными
[25:35] => я могу показать вам конструктор выражений
[25:41] => итак, для начала я покажу вам, где находится
[25:42] => конструктор выражений — это
[25:44] => мы переходим к списку событий и выбираем
[25:46] => действие
[25:48] => мы выбираем врага b и выбираем поворот
[25:51] => и поверьте мне, двигатель может многое сделать
[25:52] => больше вещей, чем просто поворот объекта
[25:54] => но это просто похоже на то, что я
[25:55] => выбрал самый
[25:57] => если я поставлю здесь 1, враг b будет
[25:59] => вращаться с угловой скоростью 1
[26:02] => но если я перейду к построителю выражений
[26:04] => здесь, справа
[26:05] => вы увидите, что есть большой список вещей
[26:07] => я могу искать из
[26:08] => они могут варьироваться от размера и ширины
[26:10] => объекта на расстояние между двумя
[26:13] => объекты
[26:14] => который я собираюсь использовать сейчас
[26:17] => вы увидите, что я умножил его на
[26:18] => один
[26:19] => и это только для того, чтобы показать вам, что это
[26:21] => в основном работает так же, как и
[26:22] => уравнение алгебры, когда вы придерживаетесь
[26:24] => числа
[26:25] => таким образом, вы можете складывать вычитать умножать делить
[26:28] => используйте скобки
[26:30] => целых девять ярдов
[26:31] => а потом, если мы вернемся к главной сцене
[26:33] => и дайте объекту игрока перетаскиваемый
[26:35] => поведение объекта, и мы нажимаем предварительный просмотр
[26:39] => затем мы можем перетащить игрока ближе к
[26:40] => группа, как мы это делаем, вы можете видеть, что это
[26:42] => замедление
[26:44] => и это потому, что расстояние между
[26:46] => объект b и игрок получают
[26:48] => меньше, поэтому он вращается медленнее
[26:50] => скорость
[26:51] => но если мы отодвинем игрока от
[26:53] => б он снова ускоряется, потому что это
[26:55] => становится все дальше, так что число
[26:57] => больше
[26:59] => теперь давайте избавимся от этого, и я покажу
[27:01] => вы реальный пример, связанный с игрой
[27:03] => итак, я сделал эти объекты раньше, у нас есть
[27:06] => сердечный объект, который является спрайтом и
[27:08] => сердечный объект, который является спрайтом плитки
[27:11] => итак, если мы поместим плиточный спрайт в
[27:13] => сцена
[27:14] => в пределах границы камеры по умолчанию
[27:17] => а затем поместите его на слой пользовательского интерфейса, который я
[27:18] => сделанный ранее
[27:20] => тогда мы сможем организовать это первое мероприятие
[27:22] => где, когда я отпускаю левую мышь
[27:24] => кнопка
[27:25] => один раз
[27:26] => мы создадим объект спрайта сердца в
[27:29] => положение мыши по x и y
[27:31] => затем мы проведем второе мероприятие с
[27:33] => состояние
[27:34] => если игрок находится в столкновении с сердцем
[27:37] => а затем мы предпримем действия по изменению
[27:39] => объектная переменная игрока
[27:42] => если мы нажмем на эту кнопку инструмента, чтобы
[27:43] => правильно, нам покажут этот объект
[27:46] => список переменных объекта, и поскольку он не
[27:48] => есть какие-нибудь, я собираюсь нажать «Добавить»
[27:50] => и дайте ему объектную переменную здоровья
[27:52] => а затем 2 в качестве числа
[27:54] => так что теперь, когда я нажму здесь, он покажет мне
[27:56] => мои параметры, и я выберу добавить
[27:58] => потому что то, что я пытаюсь сделать, это добавить к
[28:00] => здоровье игрока и один
[28:02] => а затем я собираюсь создать действие
[28:04] => это показывает, что здоровье игрока улучшилось
[28:05] => измененный
[28:07] => поэтому, если я выберу объект пользовательского интерфейса heart
[28:09] => и выберите ширину объекта
[28:12] => я выберу его, чтобы установить 2
[28:14] => а затем нажмите на конструктор выражений
[28:15] => инструмент
[28:16] => найдите объект и выберите объект
[28:18] => переменная
[28:19] => выберите игрока в качестве объекта
[28:22] => и вы можете видеть, что я могу нажать здесь еще раз
[28:25] => для отображения переменных этого объекта
[28:28] => я собираюсь выбрать здоровье
[28:29] => и потому, что я знаю размер сердца
[28:30] => то, что я сделал ранее, имеет размер 64 пикселя на 64
[28:33] => пикселей я собираюсь умножить эту ширину
[28:36] => к 64 годам.
[28:38] => это сработает только потому, что это
[28:39] => спрайт плитки, если я выберу обычный
[28:41] => объект сердца, который является спрайтом, он бы
[28:44] => просто стань совсем раздавленным
[28:46] => теперь давайте перенесем это в отдельное событие
[28:48] => так что он проверяет это каждый кадр
[28:50] => и затем, в качестве заключительного действия, мы собираемся
[28:51] => чтобы добавить удалить сердце
[28:55] => и просто чтобы показать вам, что игрок
[28:56] => не обязательно быть тем, что получает
[28:57] => элементы управления платформером
[28:59] => вы можете буквально применить это поведение к
[29:00] => любой объект
[29:02] => я собираюсь положить его на сердце
[29:05] => итак, что здесь происходит, так это то, что каждый
[29:07] => рамка мы меняем размер пользовательского интерфейса сердца
[29:09] => чтобы соответствовать состоянию здоровья игрока
[29:11] => и каждый кадр, который левая мышь
[29:12] => отпущенная кнопка создаст одно сердце
[29:16] => объект в положении мыши
[29:18] => и каждый кадр, в котором находится игрок
[29:19] => столкновение с сердцем добавит один
[29:22] => к объектной переменной работоспособности
[29:24] => объект игрока
[29:25] => и тогда он удалит это сердце
[29:27] => итак, теперь, если мы нажмем предварительный просмотр, вы увидите
[29:29] => пользовательский интерфейс «Здоровье» находится вверху, показывая
[29:31] => два сердца, потому что оно расширилось до двух
[29:34] => раз 64, потому что объект игрока
[29:36] => переменное здоровье начинается с двух
[29:40] => а теперь, если я отпущу левую кнопку мыши
[29:41] => кнопка создает сердечко в точках x и y
[29:44] => координаты мыши
[29:46] => и это происходит каждый раз, когда я нажимаю
[29:48] => если я брошу один прямо на игрока
[29:50] => вы увидите, что он добавлен один к
[29:52] => состояние переменной объекта
[29:53] => потому что это отображается сверху
[29:56] => и это будет продолжать добавлять здоровья до тех пор, пока
[29:57] => пока я продолжаю дарить ему сердца
[30:02] => в следующей части Макс собирается пойти
[30:04] => над расширениями
[30:09] => вы увидите, что здесь я сделал довольно
[30:11] => простой обходчик подземелий с одним врагом
[30:13] => и один кусочек сокровища, который нужно найти, как это
[30:16] => стоит, хотя наша игра оставляет много для
[30:19] => быть желанным, например, может быть, мы хотим
[30:21] => умейте удерживать нажатой нашу мышку и стрелять
[30:23] => при фиксированном времени перезарядки, а не при наличии
[30:25] => нажимать на кнопку каждый раз
[30:27] => может быть, нам нужен умный враг, который может
[30:29] => ищи путь вокруг стен, чтобы добраться до нас
[30:31] => вместо того, чтобы просто столкнуться с ними и
[30:33] => может быть, мы хотели бы, чтобы тот, кто укажет на
[30:35] => курсор для более интерактивного игрового процесса
[30:37] => опыт, который мы могли бы попытаться реализовать
[30:39] => эту функциональность мы сами или мы можем
[30:42] => используйте функции и поведение, известные больше
[30:45] => в широком смысле как расширения расширения позволяют
[30:47] => нам, создателям игр, нужно тратить меньше времени
[30:50] => изобретение колеса и больше времени
[30:52] => фактически делая нашу игру дополнительной
[30:54] => бонус вы обнаружите, что с помощью расширений
[30:56] => приводит к гораздо более чистому списку событий
[30:58] => что очень поможет вашему проекту
[30:59] => растет
[31:00] => итак, давайте посмотрим, как использовать
[31:02] => их мы можем начать с поведения
[31:05] => открыв выпадающее меню для
[31:07] => объект и выбор параметров редактирования
[31:10] => опция меню
[31:12] => затем вы можете добавить поведение с помощью кнопки добавить
[31:14] => кнопка поведения, и тогда вы будете
[31:15] => представлен список встроенных
[31:18] => поведения, которые необходимо развивать, есть
[31:20] => также множество созданных сообществом
[31:22] => поведение, доступное с помощью поиска
[31:24] => опция «новое поведение»
[31:26] => для этого проекта мы выберем огонь
[31:28] => поведение пули и установите его
[31:30] => и тогда мы увидим это в нашем списке новых
[31:32] => поведения, мы можем затем добавить его в наш
[31:34] => объект, нажав на него
[31:37] => и тогда мы найдем поведение
[31:38] => свойства здесь дают нам еще немного
[31:40] => контроль над тем, как будет действовать поведение
[31:43] => так что в этом случае мы можем установить время перезарядки
[31:46] => когда мы выпускаем пулю
[31:48] => теперь, когда мы выбираем наш объект в
[31:50] => лист событий, мы обнаружим, что это было
[31:52] => в основном заряженный новым
[31:54] => способности
[31:55] => в этом случае в нашем доме теперь есть огонь, а
[31:58] => действие пули, которое мы можем использовать для стрельбы
[32:00] => пули в сторону мыши
[32:09] => теперь еще одна проблема с нашей игрой заключается в
[32:11] => тот
[32:12] => хорошо
[32:12] => наш искусственный интеллект немного больше, чем я
[32:16] => мы можем исправить это, внедрив
[32:18] => поиск пути, который является просто еще одним
[32:20] => поведение в нашем списке, но с чудовищем
[32:23] => из списка свойств поведения
[32:25] => мы рассмотрим, как на самом деле реализовать
[32:27] => это в будущем видео
[32:34] => наконец, в дополнение к поведению там
[32:36] => также есть функции, к которым можно получить доступ
[32:38] => с панели свойств проекта
[32:40] => с последующим открытием функции косой черты
[32:43] => меню «Поведение» — это место, где вы можете
[32:45] => найдите функции, созданные сообществом, а также
[32:47] => поведение в отношении правильного использования функций
[32:50] => есть много похожих моделей поведения, но
[32:51] => они не привязаны к конкретным объектам
[32:53] => они могут делать такие вещи, как, например
[32:56] => выровняйте материал в вашей сцене или в корпусе
[32:58] => этого проекта вращайте палочку вокруг
[33:01] => символ и наведите его на курсор
[33:04] => теперь выглядит намного лучше, тебе не кажется
[33:19] => теперь, когда мы прошли через все
[33:20] => это я считаю основой того, что мы
[33:23] => собираюсь создать игру более конкретно
[33:25] => мы собираемся воссоздать астероиды
[33:27] => [музыка]
[33:31] => я не буду показывать вам, как я создаю
[33:33] => эти события
[33:34] => только те, которые я использую
[33:36] => но я покажу вам, что я делаю
[33:39] => итак, для начала я собираюсь использовать
[33:41] => пакет дополнений для космического шутера
[33:43] => и я собираюсь прыгнуть прямо в пустоту
[33:45] => игровой проект
[33:46] => я создам новую сцену
[33:48] => и я создам объект-спрайт
[33:50] => названный игрок для этого примера я собираюсь
[33:53] => чтобы воспользоваться преимуществами физики
[33:55] => поведение, которое приходит с g, развивается путем
[33:57] => по умолчанию
[33:58] => и я собираюсь начать с того, что уйду
[33:59] => все в одиночку, за исключением изменения
[34:01] => сила тяжести равна нулю, так что объект
[34:03] => это не просто падает с неба
[34:06] => итак, теперь мы перейдем к событию
[34:07] => лист и начните с движения игрока
[34:10] => с условием
[34:11] => если нажата клавиша w
[34:13] => а затем к действию применяется физика
[34:16] => усилие в направлении угла, под которым игрок находится
[34:18] => облицовка
[34:19] => а затем я собираюсь переместить происхождение
[34:21] => спрайт в центр, чтобы мы
[34:23] => может использовать эту исходную точку в качестве точки
[34:25] => где будут применены силы
[34:27] => а затем мы скопируем наше условие для
[34:28] => наше первое мероприятие, а затем вставьте их для
[34:31] => нажатия клавиш a и d
[34:33] => а затем мы приложим крутящий момент к
[34:35] => объект игрока, основанный на том, какой ключ
[34:37] => будучи прижатым
[34:38] => обратите внимание, что это не просто поворот
[34:40] => и действие объекта
[34:42] => это применение крутящего момента, специфичного для
[34:45] => поведение физики
[34:46] => и я использую это, потому что я хочу
[34:48] => убедитесь, что все силы находятся
[34:50] => применяется с использованием того же вида
[34:51] => правила
[34:53] => и теперь
[34:54] => у меня есть персонаж, который вращается из
[34:56] => контроль
[34:58] => проблема здесь в том, что спрайт
[34:59] => в неправильной ориентации, так что я собираюсь
[35:01] => откройте пискель измените его ориентацию
[35:04] => а затем сохраните его
[35:06] => когда эта часть будет исправлена, я собираюсь переехать
[35:08] => переходим к стрельбе пулями
[35:10] => использование условий, когда пробел
[35:12] => освобождается
[35:13] => и однажды
[35:15] => и, как вы можете видеть, я создал
[35:16] => объект пули уже
[35:18] => и так как пуля действительно яркая
[35:19] => цвет я собираюсь изменить фон
[35:21] => части сцены в черный цвет, чтобы она выделялась
[35:23] => лучше
[35:24] => а теперь что касается пули, мы начинаем действовать
[35:27] => создайте объект, добавьте силу и поверните
[35:30] => объект
[35:32] => но перемещение действия поворота над
[35:34] => применить силовое действие, потому что мы хотим
[35:36] => убедитесь, что он повернут, прежде чем он
[35:37] => начинает двигаться
[35:39] => и ориентация пули нарушена просто
[35:41] => как и игроки, чтобы я мог войти в
[35:43] => пи черепа и изменить ориентацию
[35:44] => пулей точно так же, как я сделал с
[35:45] => игрок или
[35:47] => я могу добавить 90 градусов к повороту и
[35:50] => измените его так, чтобы угол обзора игрока был
[35:52] => то, что подсказывает ему, в каком направлении
[35:53] => идти
[35:55] => и после того, как мы изменим происхождение
[35:56] => пуля точно так же, как мы сделали с игроком
[35:59] => это работает просто отлично
[36:01] => хотя мне действительно нужно изменить порядок z
[36:03] => так, чтобы пуля появлялась ниже
[36:05] => игрок, а не на вершине
[36:07] => и это игрок в основном сделал
[36:09] => затем мы проведем еще одно мероприятие для
[36:11] => начало сцены, где мы собираемся
[36:13] => измените центр камеры на
[36:15] => нулевая точка
[36:16] => и измените масштаб на 0,5
[36:19] => перевод камеры в нулевую точку
[36:21] => было так, чтобы мы могли легко сделать экран
[36:22] => обернуть и уменьшить масштаб камеры было просто
[36:25] => чтобы у нас был лучший масштаб для
[36:27] => игра в астероиды
[36:29] => теперь давайте добавим несколько астероидов
[36:31] => мы добавим несколько анимаций
[36:33] => и дайте им поведение physics 2.0
[36:35] => поместите пару в сцену
[36:37] => и мы сделаем это снова со средним и
[36:39] => маленькие астероиды
[36:41] => и теперь, потому что все имеет
[36:42] => поведение физики я могу начать стучать
[36:44] => вещи вокруг похожи на шарики
[36:46] => и точно так же, как в случае с астероидами, мы собираемся
[36:48] => сделайте так, чтобы, когда вы снимаете
[36:49] => астероид разлетается на более мелкие части
[36:51] => поэтому мы создадим для каждого экземпляра
[36:53] => событие, в котором выбираемый объект является
[36:56] => большой астероид
[36:58] => используйте условие
[36:59] => если пуля столкнется с астероидом
[37:01] => затем мы создадим два средних астероида
[37:04] => дайте им случайное вращение
[37:06] => а затем применить силу в любом
[37:08] => направление, в котором они смотрят
[37:09] => а затем мы удаляем исходный астероид
[37:11] => и пуля
[37:13] => а потом мы делаем это еще два раза
[37:15] => с единственной реальной разницей в том, что
[37:16] => маленький астероид не появляется
[37:18] => все, что угодно, просто удаляется
[37:21] => мы довольно близко подходим к тому, чтобы это было
[37:22] => астероидов нам просто не хватает пары
[37:24] => вещи, наиболее заметной из которых является
[37:26] => пленка для экрана
[37:28] => поэтому мы собираемся создать для каждого
[37:30] => событие экземпляра и для выбранного объекта
[37:32] => на этот раз это действительно будет группа
[37:34] => все, потому что я вложил все в
[37:36] => одна группа
[37:38] => разрешение этой игры составляет 800 на 600 и
[37:41] => потому что мы переместили нашу камеру в центр
[37:43] => ноль
[37:44] => тогда мы можем использовать это условие
[37:46] => если объект в группе все
[37:49] => выходит за пределы 800 в направлении x или
[37:51] => идет за отрицательными 800 в x
[37:54] => направление
[37:55] => тогда он будет иметь свое положение x раз
[37:57] => на отрицательный 1, который перевернет его на
[37:59] => другая сторона
[38:00] => а потом мы просто делаем то же самое для
[38:02] => направление y
[38:03] => и вот мы почти на месте
[38:05] => последнее, что нужно для этого, чтобы
[38:07] => быть игрой
[38:08] => является состоянием отказа
[38:09] => итак, мы собираемся перейти к проекту
[38:11] => менеджер и ищите расширение
[38:13] => здоровье
[38:14] => мы добавим это в проект
[38:16] => а теперь я подойду к плееру и выберу
[38:18] => здоровье
[38:20] => давая ему 3 в качестве итога и 5 секунд
[38:22] => время перезарядки до тех пор, пока он снова не будет поврежден
[38:25] => затем мы создадим плиточный спрайт
[38:27] => и назовем это жизнью
[38:29] => поместите его на экране в положение по умолчанию
[38:31] => граница камеры
[38:32] => помещаю его на слой пользовательского интерфейса, который я сделал
[38:34] => ранее
[38:36] => и затем мы используем физическое условие, если
[38:38] => игрок сталкивается со всем
[38:41] => обратите внимание, что при этом пуля будет игнорироваться
[38:43] => потому что у пули нет
[38:44] => поведение физики, а затем мы добавим
[38:46] => действие наносит урон игроку
[38:48] => из отдела здравоохранения
[38:50] => а затем добавьте действие для изменения
[38:52] => ширину спрайта плитки, а затем мы будем
[38:54] => скопируйте это действие и поместите его в
[38:55] => начало сцены
[38:57] => так, чтобы он изменял ширину
[38:58] => спрайт в начале сцены как
[39:00] => хорошо
[39:01] => и последнее, что нам сейчас нужно, это
[39:03] => чтобы игрок умер
[39:07] => это специфическое условие возникает из-за
[39:09] => продление срока службы, а затем мы удалим
[39:11] => игрок
[39:12] => но вдобавок ко всему я собираюсь создать
[39:13] => текстовый объект, называемый «игра окончена»
[39:16] => и выведи это на экран, и пусть оно спрячется
[39:18] => в начале сцены и
[39:20] => появляется снова, когда игрок умирает
[39:24] => и вот сколько времени требуется, чтобы воссоздать
[39:25] => астероиды в g развивают единственную реальную
[39:28] => проблема в том, что в игре нет
[39:29] => любой звук, и это не очень весело
[39:31] => играть
[39:33] => технически это игра, но она отсутствует
[39:35] => всю свою жизнь
[39:37] => нам нужно добавить звуковые эффекты и экран
[39:38] => эффекты встряхивания, частиц и все такое
[39:41] => вещи, так что давайте начнем
[39:44] => на данный момент, когда игрок умирает, они просто
[39:46] => быть удаленным
[39:47] => поэтому вместо этого мы собираемся создать
[39:48] => эффект частиц, чтобы заменить это
[39:51] => мы собираемся убедиться, что корабль
[39:52] => имеет минимальную ротацию и что есть
[39:54] => только одна частица в резервуаре
[39:57] => и мы позаботимся о том, чтобы повернуть
[39:58] => частица, поэтому она начинается там, где игрок
[40:00] => остановился
[40:02] => и теперь у нас есть корабль такого рода
[40:03] => падает в космос
[40:06] => и мы будем использовать вторую частицу, используя
[40:07] => некоторые моменты
[40:08] => чтобы придать ему немного больше изюминки
[40:12] => и мы определенно могли бы сделать нашу игру
[40:13] => поверх текста выглядит немного более впечатляюще
[40:16] => поэтому мы собираемся придать ему пользовательский шрифт
[40:18] => это шрифт, который я использую для
[40:19] => все, что связано с разработчиком g
[40:21] => а потом, если я создам эффект сбоя
[40:23] => в меню эффектов это будет выглядеть так
[40:26] => этот
[40:27] => что, безусловно, является улучшением
[40:30] => далее мы собираемся создать несколько обломков
[40:31] => для астероидов, когда они взрываются
[40:34] => и точно так же, как корабль будет использовать
[40:35] => текстуру астероидов, чтобы сделать
[40:37] => эффект
[40:39] => и это только делает его более
[40:40] => приятно смотреть, когда астероиды
[40:43] => взрывать
[40:45] => большой проблемой этой игры до сих пор является
[40:46] => отсутствие обратной связи с игроками, в частности
[40:49] => когда тебя ударят, так что мы пойдем в
[40:51] => поведения и добавьте вспышку или мигание
[40:55] => отношение к проекту
[40:57] => мы включим это действие в мероприятие
[40:59] => где игрок получает травму
[41:01] => и теперь вы можете видеть, что игрок
[41:02] => вспыхивает, когда в них попадают
[41:06] => другим аспектом обратной связи с игроками было бы
[41:07] => быть звуковыми эффектами
[41:09] => то, что действительно нужно этой игре
[41:11] => итак, мы собираемся открыть jfxr
[41:14] => рандомизируйте звуковой эффект, пока мы не получим
[41:15] => что-то, что нам нравится
[41:17] => а затем назовите его «лазерный огонь» и сохраните его
[41:20] => возможно, вы захотите ввести переменную для
[41:22] => звук здесь, но я просто собираюсь поставить
[41:23] => на данный момент в трудных 50
[41:26] => для звуков, которые случаются время от времени
[41:28] => вы можете просто поставить один здесь, но для звуков
[41:30] => это будет происходить снова и снова
[41:31] => опять же, вы хотите иметь рандомизированный
[41:33] => подача
[41:34] => в противном случае ты поведешь свой
[41:35] => игроки безумны
[41:37] => итак, чтобы рандомизировать что-то, все, что нам нужно
[41:39] => нужно ввести случайный текст, и он покажет нам
[41:41] => наши варианты
[41:42] => и я собираюсь выбрать случайный поплавок в
[41:44] => диапазон и поставить в 0,9 и 1,1
[41:48] => это означает, что каждый раз, когда звук
[41:49] => эффект воспроизводится, он выберет номер
[41:51] => от 0,9 до 1,1, чтобы играть на
[41:55] => я перенесу это действие туда, где
[41:57] => лазерный эффект действительно происходит
[41:59] => но мы собираемся сделать это для
[42:00] => все в игре, которая включает в себя
[42:02] => эффект столкновения, когда игрок бежит
[42:04] => в астероид и звук взрыва
[42:06] => когда астероиды взрываются
[42:08] => и теперь нам нужна еще одна вещь, как
[42:10] => что касается эффектов, то это камера
[42:12] => трясти
[42:13] => поэтому мы собираемся добавить это к
[42:14] => проект
[42:15] => а затем отправляйтесь на мероприятие «Получить травму»
[42:17] => и добавление его в качестве действия
[42:20] => и вот мы идем
[42:22] => а теперь еще немного полировки, которую мы дали
[42:24] => все астероиды куча анимаций
[42:27] => итак, мы собираемся перейти к началу
[42:28] => событие сцены и используйте изменение действия
[42:31] => номер анимации
[42:33] => и на этот раз мы будем использовать случайный
[42:34] => три
[42:35] => потому что у большого астероида четыре
[42:37] => анимации, а ноль считается
[42:39] => номер
[42:40] => а теперь, если мы начнем сцену, вы увидите
[42:42] => что все они выбрали другой
[42:43] => изображение
[42:45] => а теперь перейдем к несколько утомительной части
[42:47] => подстраивание вещей
[42:48] => убедившись, что ваши маски столкновения
[42:50] => иметь смысл с объектами, а затем
[42:52] => играйте, проверяя это
[42:53] => а затем убедиться, что ваши скорости
[42:55] => и плотности такие, какие вы хотите
[42:56] => их
[42:57] => а потом ты играешь, проверяешь это снова и
[42:59] => снова
[43:00] => и снова, и снова
[43:02] => и снова, и снова
[43:04] => и снова
[43:05] => и снова, и снова
[43:06] => и снова
[43:08] => и это немного субъективно, но вы
[43:09] => продолжайте играть, тестируя и настраивая его, пока
[43:11] => в эту игру приятно играть
[43:19] => теперь, когда мы создали игру, мы должны
[43:21] => сделайте несколько вещей, прежде чем мы его экспортируем, так что
[43:23] => мы собираемся осмотреть недвижимость
[43:24] => менеджер зайдите в настройки игры и откройте
[43:27] => свойства
[43:28] => мы собираемся придать игре надлежащий
[43:30] => имя
[43:31] => дайте ему номер версии
[43:33] => измените имя его пакета
[43:35] => убедитесь, что вы внесены в список как один из
[43:37] => или единственный автор
[43:40] => убедитесь, что вы выбрали правильный
[43:41] => вариант того, как игра должна расширяться в
[43:43] => экран
[43:45] => и, конечно же, для мобильных игр, которые вы хотите
[43:46] => чтобы убедиться, что вы выбрали свой
[43:47] => ориентация устройства
[43:50] => и, наконец, убедитесь, что вы вложили
[43:51] => имя издателя
[43:54] => еще одна вещь, которую нужно сделать, — это дать свой
[43:56] => игровые иконки
[43:58] => все, что вам нужно сделать, это нажать здесь
[44:00] => придайте ему квадратное изображение, и оно превратится
[44:02] => это изображение в соответствующий размер для
[44:04] => все устройства
[44:06] => как только все это будет сделано, мы сможем экспортировать наши
[44:08] => игра
[44:09] => мы поднимаемся наверх, чтобы подать
[44:12] => нажмите на экспорт
[44:14] => и прямо сейчас у нас есть два варианта
[44:16] => поделиться с друзьями
[44:17] => который даст вам ссылку, по которой вы сможете
[44:19] => поделитесь со своими друзьями или людьми тем, что
[44:20] => вы хотите поиграть в эту игру
[44:22] => или опубликуйте свою игру
[44:25] => вы можете создать его вручную, если знаете
[44:26] => как
[44:27] => но я просто собираюсь нажать на
[44:28] => кнопка, которая запускает движок для его создания
[44:30] => для тебя
[44:31] => нам показаны 4 разные вкладки
[44:33] => начиная с веб-сборки
[44:35] => который создаст html-файл, который может
[44:38] => воспроизводиться в браузере
[44:40] => далее идет мобильный экспорт, где вы можете
[44:42] => выпустить apk-файл для использования на устройствах
[44:45] => обычно
[44:46] => или пакет приложений для Android
[44:48] => что это за связка, которую вы
[44:49] => нужно отправить игру в Google Play
[44:52] => следующий тип предназначен для экспорта игры в
[44:55] => windows linux или mac os
[44:59] => и, наконец, есть мгновенные игры
[45:01] => которые публикуются в facebook с
[45:03] => учетная запись разработчика facebook
[45:05] => теперь разработка бесплатна, полностью бесплатна для
[45:08] => использование и экспорт из
[45:10] => но для них существуют ограничения
[45:12] => автоматизированные сборки, потому что это стоит
[45:14] => выделять деньги на размещение серверов, которые
[45:15] => они построены на
[45:17] => таким образом, с помощью разработки вы получаете две бесплатные сборки
[45:19] => в день для мобильного или настольного компьютера
[45:22] => если вы платите за подписку на
[45:23] => развивая учетную запись, вы получаете больше экспорта за
[45:26] => день
[45:27] => но
[45:27] => публикация html-сборки не ограничена
[45:31] => так что извините меня за то, что я разрушил иллюзию
[45:33] => на одну секунду
[45:36] => о нет, я на обычном старом компьютере
[45:41] => итак, мы создаем новую папку
[45:43] => назовем это игрой
[45:45] => или как там называется ваша игра
[45:47] => возвращайся в двигатель
[45:48] => нажмите кнопку выбрать папку
[45:50] => найдите эту папку и выберите ее
[45:53] => а затем просто нажмите экспорт
[45:55] => так что теперь все файлы игры находятся в
[45:57] => эта папка и готово к работе все, что у вас есть
[45:59] => для этого нужно сжать его в zip-папку
[46:02] => и эта zip-папка — ваша игра
[46:05] => но позвольте мне быстро показать вам, как это сделать
[46:06] => для сборки ПК
[46:08] => итак, мы переходим к экспорту публикации в хранилище
[46:11] => убедитесь, что автоматический установщик Windows
[46:13] => файл выбран, а затем просто нажмите
[46:15] => пакет
[46:17] => а потом ты просто ждешь
[46:20] => вы получите это уведомление здесь внизу
[46:22] => внизу, и если вы нажмете на это
[46:23] => кнопка вы будете периодически получать электронное письмо, которое
[46:26] => дает вам некоторую статистику о вашей игре
[46:28] => и если вы просто нажмете на это окно
[46:29] => кнопка там
[46:30] => он будет загружен в вашу папку загрузки
[46:32] => и тогда у тебя будет своя игра на твоем
[46:34] => компьютер
[46:36] => я надеюсь, что это видео смогло помочь
[46:38] => кто-нибудь там, кто хотел попробовать
[46:40] => g разрабатывать и создавать свои собственные игры, но
[46:42] => просто не знал, с чего начать
[46:44] => спасибо за просмотр и желаю удачи
[46:46] => с твоими играми