Сегодня у нас продолжение серии статей по разработке игр на Clickteam Fusion 2.5. Поговорим о практике: рассмотрим начало работы с платформой и вспомним об азах публикации в магазине приложений. Заглядывайте под кат!
![](https://habrastorage.org/r/w780q1/webt/tz/le/u4/tzleu4lpticuflhvacx5-9-1gf0.jpeg)
Передаю слово автору.
Настало время практической части статьи. В данной части будут рассмотрены основы механики CF2.5 на примере разработки маленького платформера и особенности публикации в Microsoft Store.
Примечание: Если вы не ставите своей целью публикацию в Microsoft Store, а хотите просто лично ознакомиться с функционалом программы, то из всего вышеперечисленного вам будет достаточно Clickteam Fusion 2.5 /Clickteam Fusion 2.5 Free Edition и графического редактора. С различием версий можно ознакомиться здесь.
Примечание 2: в данной программе можно прийти к одному и тому же результату совершенно разными способами. При этом оптимизированность этих способов может быть как разной, так и абсолютно одинаковой. Если ваш способ был хуже представленного мной, то буду рад, что данная статья помогла вам немного с оптимизацией. Если же ваш способ лучше – вы молодец.
Примечание 3: небольшой совет – если вы планируете опубликовать свою работу в Microsoft Store, то на всякий случай заранее зарезервируйте ее название.
Кстати, наше супер-полное руководство по публикации в Microsoft Store вы можете прочитать здесь.
0. Запустите CF2.5 и создайте новый проект
![](https://habrastorage.org/r/w1560/webt/9v/il/7i/9vil7iiwhigbqgvpqsqtehyikia.png)
Либо так:
![](https://habrastorage.org/r/w1560/webt/m_/yc/w5/m_ycw5afgsjm_mbfxkytgito3hw.png)
Либо вот так:
![](https://habrastorage.org/r/w1560/webt/7_/uw/lg/7_uwlg0bwjlbj4eyngjc4dwwqcw.png)
Либо просто нажмите Ctrl+N
1. В только что созданном проекте можно наблюдать его величество редактор. В левой части (Workspace Toolbar) расположена иерархия нашего проекта. В правой части – информация о каждом фрейме. Каждый фрейм – это сцена, на которой размещается определенная часть разрабатываемой игры. Например: фрейм 1 – меню, фрейм 2 – 1 уровень игры, фрейм 3 – 2 уровень игры, фрейм 4 – титры.
![](https://habrastorage.org/r/w1560/webt/nz/80/cs/nz80csokyuz8byawomtbqoyqwms.png)
Первым делом стоит выставить основные настройки и подготовить первый фрейм для создания на его основе меню. Для этого поменяем название приложения, название фрейма и зададим размер фреймов (который будет выставляться как первому, так и последующим).
![](https://habrastorage.org/webt/al/ox/dq/aloxdqgrkco_1qt8zmo6vok4gi8.gif)
2. Отдельно хотелось бы отметить окно Properties нашего приложения (не путать с отдельно взятым фреймом и пр.). Как вы уже, наверное, догадались – это основные настройки самого приложения. С их помощью добавляются иконки, изменяется название приложения, указывается доп. информация (автор, язык и пр.), выбирается тип билда и т.д. В нем, помимо изменения разрешения, сейчас нужно выставить тип билда. По умолчанию в Clickteam Fusion 2.5 Standart в типе билда выбран «Windows EXE Application», но поскольку дальше мною будет приведен пример сборки и публикации для Microsoft Store, я выбираю «UWP project».
Примечание 4: При создании проектов в CF2.5 используются объекты, выполняющие различные роли – настройка интерфейса, анимации и пр. Но не все эти объекты имеют поддержку всех платформ (доступных для разработки в CF2.5), поэтому с Build Type стоит определиться еще на самом раннем этапе работы. Выбрав платформу в Build Type, вы будете видеть только те объекты, что поддерживают разработку под указанную платформу. Почему так? Потому что объекты для CF2.5 разрабатывают не только сотрудники Clickteam, но и отдельные разработчики.
![](https://habrastorage.org/r/w1560/webt/rv/nn/x4/rvnnx4nuppis5qb83gu4zlivmju.png)
![](https://habrastorage.org/r/w1560/webt/lu/ch/gv/luchgvcplaznnykc8hmvgj95ejg.png)
3. Теперь, для продолжения работы, переходим непосредственно на сам фрейм (двойной клик по фрейму)
![](https://habrastorage.org/r/w1560/webt/az/dt/kl/azdtklbeekhmo_1mcc5bggkfd7y.png)
4. Как можно заметить – справа теперь появился большой страшный лист… Это и есть наша сцена, на которой мы будем располагать объекты игры. Для большего удобства можно настроить Zoom (в левом углу), чтобы сцена не казалась такой большой
![](https://habrastorage.org/r/w1560/webt/gh/jo/vo/ghjovou1cwd_0w1m3bmrmutnzd4.png)
Примечание 5: если у вас не отображены слои (справа должна быть вкладка «Layers Toolbar»), то добавьте их через View – Toolbars — Layers Toolbar
![](https://habrastorage.org/r/w1560/webt/ws/p7/id/wsp7idsg6rtmbkmxivr-uuhwfzc.png)
По итогу все должно выглядеть примерно так:
![](https://habrastorage.org/r/w1560/webt/l-/hp/88/l-hp88fljfbiprvohctk7p5iqnw.png)
5. Сейчас можно переходить к работе с самой сценой. Для начала стоит добавить фон для нашего меню. Для этого надо кликнуть ПКМ по сцене и выбрать Insert Object, после чего откроется окно «Create new object», в котором следует найти объект «Backdrop»
![](https://habrastorage.org/webt/ox/9o/6t/ox9o6th5vf5tyj8fg1offjdoqy8.gif)
Теперь остается загрузить фон для меню. Для этого жмем ПКМ на наш «Backdrop» и выбираем Edit
![](https://habrastorage.org/r/w1560/webt/4z/vy/wi/4zvywicluvhhiljsi8gyktlpnl4.png)
И в открывшемся окне выбираем Import
![](https://habrastorage.org/r/w1560/webt/ue/z2/k9/uez2k9qbpv-o9sfcrclg2asjchi.png)
После чего выбираем изображение, которое будет выполнять роль фона. К слову, свой фон я отрисовал сам. Будем считать, что я художник и так вижу.
![](https://habrastorage.org/r/w1560/webt/og/gz/v3/oggzv3xdq8gy9fj4eivw_zskm3y.png)
Кстати, вы можете изменять названия объектов. Настоятельно рекомендую это делать, чтобы потом не запутаться в том, что за что у вас отвечает. Сделать это можно щелкнув ПКМ на объект и выбрав Rename
![](https://habrastorage.org/r/w1560/webt/vr/ej/h1/vrejh1yosctwcjwlm5rzrbzkm_e.png)
6. Итак, фон есть. Теперь нужно создать новый слой и можно будет приступать к созданию кнопок нашего меню. В приведенном примере будут использованы три кнопки — Play, Credits и Quit.
Для создания нового слоя нужно нажать на «New Layer» в окне Layers Toolbar, что расположено в правой части экрана.
![](https://habrastorage.org/r/w1560/webt/rk/_v/qs/rk_vqskx8ff4bgu_var6m9vv2e8.png)
Добавив новый слой, произведем блокировку первого слоя, нажав на иконку в виде «замка» рядом с ним. Это нужно для того, чтобы предотвратить случайные изменения в первом слое.
![](https://habrastorage.org/r/w1560/webt/wu/nx/sh/wunxshlxvs6qz7wtlawd3sgm9vi.png)
Теперь нужно перейти на второй слой (щелчок по слою) и разместить на нем три активных объекта (ПКМ – Insert object – Active).
![](https://habrastorage.org/r/w1560/webt/bt/vy/pl/btvypl1wnfnqtjh6pes-ujld0mw.png)
Для удобства стоит переименовать их в Play, Credits и Quit, после чего загрузить на каждый объект свой спрайт (аналогично тому, как делали с Backdrop).
По итогу должно получиться что-то вроде этого. Да, знаю. Эти спрайты выглядят прекрасно
![](https://habrastorage.org/r/w1560/webt/fx/wc/ch/fxwcchce3czw7kk0txcmm6uaidy.png)
7. Добавим пару фреймов. На одном разместим Credits, на другом первый уровень нашей игры (ПКМ на название приложения – New Frame)
![](https://habrastorage.org/webt/-u/ym/vh/-uymvh5onablzlywvyfc3lnw2-u.gif)
8. Создадим события для наших кнопок, чтобы они начали выполнять свои функции. Для этого переходим в Event Editor и начинаем создавать события
![](https://habrastorage.org/r/w1560/webt/r2/i9/jl/r2i9jlqh5lypovmwg9xsmzhoj7e.png)
Кнопки Credits и Play настроим по принципу «Если пользователь один раз кликает ЛКМ на кнопку, то происходит переход к фрейму»
![](https://habrastorage.org/r/w1560/webt/_c/e8/46/_ce846unhp4nzua5du7yjoswvgy.png)
![](https://habrastorage.org/r/w1560/webt/t1/-j/no/t1-jno-dntgitz0nui0wxu1cjpu.png)
Здесь уже выбираем нашу кнопку. Для примера выберу Play
![](https://habrastorage.org/r/w1560/webt/co/qv/3e/coqv3eaw5ucy0ke9vpkelx60qs4.png)
И у нас начинает создаваться событие
![](https://habrastorage.org/r/w1560/webt/tp/bz/rc/tpbzrcnwg-5chim-dqpqwy5ifqq.png)
Которому мы говорим, что «если пользователь нажимает на Play, происходит переход на…
![](https://habrastorage.org/r/w1560/webt/o_/su/bj/o_subj5j52bmmrgx9fmyewuf4h0.png)
… первый уровень нашей игры»
![](https://habrastorage.org/r/w1560/webt/oq/uy/qc/oquyqcc4bzf7xzfbs146rfklc9e.png)
Аналогично следует проделать для кнопки Credits, чтобы происходил переход к одноименному фрейму.
![](https://habrastorage.org/r/w1560/webt/fq/mu/n7/fqmun707nt0b6vagphrgrcxvnr8.png)
Теперь настроим самую важную кнопку – кнопку выхода из игры. Здесь принцип будет уже таким: «Если пользователь один раз кликает ЛКМ на кнопку, то происходит завершение приложения». Т.е. мы должны создать такое же событие, но вместо «Jump to frame» выбрать «End the application»
![](https://habrastorage.org/r/w1560/webt/h1/bg/pu/h1bgpuqzfmhyeplmvel_oxdq0oa.png)
9. По сути, меню готово к использованию. Но для большего удобства предлагаю добавить возможность выхода в меню. Прошу не путать с паузой, которая выводит меню. Принцип работы: «При нажатии Esc происходит переход к фрейму меню». Для этого перейдем в Event Editor, например, фрейма Credits
![](https://habrastorage.org/r/w1560/webt/gl/qi/qm/glqiqmpaccm1vhhtgd8hzem7apc.png)
И создадим новое событие
![](https://habrastorage.org/r/w1560/webt/at/12/z9/at12z9fgvtxv7c-gob7jg6772ok.png)
Нажав кнопку «Esc»
![](https://habrastorage.org/r/w1560/webt/1o/cq/mn/1ocqmnb7hbid-hp097qpium23ou.png)
И дальше уже как обычно – Jump to frame и выбираем фрейм меню
![](https://habrastorage.org/r/w1560/webt/ss/v7/nq/ssv7nqvo7zyvwwhgi64xkaokr0c.png)
![](https://habrastorage.org/r/w1560/webt/fg/z-/ne/fgz-necbkso_y6ym0k-zhgtukok.png)
Аналогично повторяем для фрейма с первым уровнем нашей игры либо просто выделяем уже созданное событие, копируем его и вставляем в другом фрейме.
![](https://habrastorage.org/webt/fv/ip/d8/fvipd8_mypgrovogjc2kwesoh10.gif)
Теперь меню полностью готово. Для проверки можно нажать F8
![](https://habrastorage.org/r/w1560/webt/kp/rw/jh/kprwjhxrpreh0hbmqegqujvpmwq.png)
10. Перейдем к фрейму Credits. По сути – это титры. Для их реализации поступим следующим образом: отрисуем фон, добавив на него текст, после чего полученный результат добавим на фрейм через Backdrop. Пример:
![](https://habrastorage.org/r/w1560/webt/33/kf/ud/33kfudpcfpdjewp1iq855yknfqq.png)
Примечание 6: при использовании бесплатных материалов (музыка/спрайты/пр.) очень часто нужно указывать авторов в Credits. Пожалуйста, не забывайте об этом и всегда изучайте соглашения, по которым берете эти материалы
Это — статья из цикла. В следующей статье мы продолжим говорить о практике!
Лев Буланов — студент Чайковского индустриального колледжа и Удмуртского государственного университета, Microsoft Student Partner, C#-разработчик, CF2.5-разработчик, Unity-разработчик, оператор ЭВМ (5 разряд). Основная сфера интересов — разработка мини-игр, утилит и MR-проектов.
![](https://habrastorage.org/webt/tz/le/u4/tzleu4lpticuflhvacx5-9-1gf0.jpeg)
Передаю слово автору.
- Вступление: обзор платформы, известные игры
- Часть 1: начало разработки
- Часть 2: итоговый проект и публикация в магазине
Практика
Настало время практической части статьи. В данной части будут рассмотрены основы механики CF2.5 на примере разработки маленького платформера и особенности публикации в Microsoft Store.
1. Инструменты, материалы и прочее
Для разработки:
- Clickteam Fusion 2.5 Standart
- GIMP 2.8 или любой другой графический редактор. Либо можете взять материалы со специализированных сайтов (тут уже решать вам. Главное – подготовьте материалы для работы)
Для публикации:
- UWP Exporter for Clickteam Fusion 2.5
- Visual Studio Community 2015
- Аккаунт с правами разработчика в «Центр разработки для Windows»
- Зарезервированное имя продукта в центре разработки (Это можно будет сделать и в ходе публикации. Я опишу)
Дополнительно:
- Рекомендую при работе иметь включенный режим разработчика в Windows 10, что позволит использовать дополнительные функции (Параметры -> Обновление и безопасность -> Для разработчиков)
Примечание: Если вы не ставите своей целью публикацию в Microsoft Store, а хотите просто лично ознакомиться с функционалом программы, то из всего вышеперечисленного вам будет достаточно Clickteam Fusion 2.5 /Clickteam Fusion 2.5 Free Edition и графического редактора. С различием версий можно ознакомиться здесь.
2. Начало работы
Примечание 2: в данной программе можно прийти к одному и тому же результату совершенно разными способами. При этом оптимизированность этих способов может быть как разной, так и абсолютно одинаковой. Если ваш способ был хуже представленного мной, то буду рад, что данная статья помогла вам немного с оптимизацией. Если же ваш способ лучше – вы молодец.
Примечание 3: небольшой совет – если вы планируете опубликовать свою работу в Microsoft Store, то на всякий случай заранее зарезервируйте ее название.
Кстати, наше супер-полное руководство по публикации в Microsoft Store вы можете прочитать здесь.
0. Запустите CF2.5 и создайте новый проект
![](https://habrastorage.org/webt/9v/il/7i/9vil7iiwhigbqgvpqsqtehyikia.png)
Либо так:
![](https://habrastorage.org/webt/m_/yc/w5/m_ycw5afgsjm_mbfxkytgito3hw.png)
Либо вот так:
![](https://habrastorage.org/webt/7_/uw/lg/7_uwlg0bwjlbj4eyngjc4dwwqcw.png)
Либо просто нажмите Ctrl+N
1. В только что созданном проекте можно наблюдать его величество редактор. В левой части (Workspace Toolbar) расположена иерархия нашего проекта. В правой части – информация о каждом фрейме. Каждый фрейм – это сцена, на которой размещается определенная часть разрабатываемой игры. Например: фрейм 1 – меню, фрейм 2 – 1 уровень игры, фрейм 3 – 2 уровень игры, фрейм 4 – титры.
![](https://habrastorage.org/webt/nz/80/cs/nz80csokyuz8byawomtbqoyqwms.png)
Первым делом стоит выставить основные настройки и подготовить первый фрейм для создания на его основе меню. Для этого поменяем название приложения, название фрейма и зададим размер фреймов (который будет выставляться как первому, так и последующим).
![](https://habrastorage.org/webt/al/ox/dq/aloxdqgrkco_1qt8zmo6vok4gi8.gif)
2. Отдельно хотелось бы отметить окно Properties нашего приложения (не путать с отдельно взятым фреймом и пр.). Как вы уже, наверное, догадались – это основные настройки самого приложения. С их помощью добавляются иконки, изменяется название приложения, указывается доп. информация (автор, язык и пр.), выбирается тип билда и т.д. В нем, помимо изменения разрешения, сейчас нужно выставить тип билда. По умолчанию в Clickteam Fusion 2.5 Standart в типе билда выбран «Windows EXE Application», но поскольку дальше мною будет приведен пример сборки и публикации для Microsoft Store, я выбираю «UWP project».
Примечание 4: При создании проектов в CF2.5 используются объекты, выполняющие различные роли – настройка интерфейса, анимации и пр. Но не все эти объекты имеют поддержку всех платформ (доступных для разработки в CF2.5), поэтому с Build Type стоит определиться еще на самом раннем этапе работы. Выбрав платформу в Build Type, вы будете видеть только те объекты, что поддерживают разработку под указанную платформу. Почему так? Потому что объекты для CF2.5 разрабатывают не только сотрудники Clickteam, но и отдельные разработчики.
![](https://habrastorage.org/webt/rv/nn/x4/rvnnx4nuppis5qb83gu4zlivmju.png)
![](https://habrastorage.org/webt/lu/ch/gv/luchgvcplaznnykc8hmvgj95ejg.png)
3. Теперь, для продолжения работы, переходим непосредственно на сам фрейм (двойной клик по фрейму)
![](https://habrastorage.org/webt/az/dt/kl/azdtklbeekhmo_1mcc5bggkfd7y.png)
4. Как можно заметить – справа теперь появился большой страшный лист… Это и есть наша сцена, на которой мы будем располагать объекты игры. Для большего удобства можно настроить Zoom (в левом углу), чтобы сцена не казалась такой большой
![](https://habrastorage.org/webt/gh/jo/vo/ghjovou1cwd_0w1m3bmrmutnzd4.png)
Примечание 5: если у вас не отображены слои (справа должна быть вкладка «Layers Toolbar»), то добавьте их через View – Toolbars — Layers Toolbar
![](https://habrastorage.org/webt/ws/p7/id/wsp7idsg6rtmbkmxivr-uuhwfzc.png)
По итогу все должно выглядеть примерно так:
![](https://habrastorage.org/webt/l-/hp/88/l-hp88fljfbiprvohctk7p5iqnw.png)
5. Сейчас можно переходить к работе с самой сценой. Для начала стоит добавить фон для нашего меню. Для этого надо кликнуть ПКМ по сцене и выбрать Insert Object, после чего откроется окно «Create new object», в котором следует найти объект «Backdrop»
![](https://habrastorage.org/webt/ox/9o/6t/ox9o6th5vf5tyj8fg1offjdoqy8.gif)
Теперь остается загрузить фон для меню. Для этого жмем ПКМ на наш «Backdrop» и выбираем Edit
![](https://habrastorage.org/webt/4z/vy/wi/4zvywicluvhhiljsi8gyktlpnl4.png)
И в открывшемся окне выбираем Import
![](https://habrastorage.org/webt/ue/z2/k9/uez2k9qbpv-o9sfcrclg2asjchi.png)
После чего выбираем изображение, которое будет выполнять роль фона. К слову, свой фон я отрисовал сам. Будем считать, что я художник и так вижу.
![](https://habrastorage.org/webt/og/gz/v3/oggzv3xdq8gy9fj4eivw_zskm3y.png)
Кстати, вы можете изменять названия объектов. Настоятельно рекомендую это делать, чтобы потом не запутаться в том, что за что у вас отвечает. Сделать это можно щелкнув ПКМ на объект и выбрав Rename
![](https://habrastorage.org/webt/vr/ej/h1/vrejh1yosctwcjwlm5rzrbzkm_e.png)
6. Итак, фон есть. Теперь нужно создать новый слой и можно будет приступать к созданию кнопок нашего меню. В приведенном примере будут использованы три кнопки — Play, Credits и Quit.
Для создания нового слоя нужно нажать на «New Layer» в окне Layers Toolbar, что расположено в правой части экрана.
![](https://habrastorage.org/webt/rk/_v/qs/rk_vqskx8ff4bgu_var6m9vv2e8.png)
Добавив новый слой, произведем блокировку первого слоя, нажав на иконку в виде «замка» рядом с ним. Это нужно для того, чтобы предотвратить случайные изменения в первом слое.
![](https://habrastorage.org/webt/wu/nx/sh/wunxshlxvs6qz7wtlawd3sgm9vi.png)
Теперь нужно перейти на второй слой (щелчок по слою) и разместить на нем три активных объекта (ПКМ – Insert object – Active).
![](https://habrastorage.org/webt/bt/vy/pl/btvypl1wnfnqtjh6pes-ujld0mw.png)
Для удобства стоит переименовать их в Play, Credits и Quit, после чего загрузить на каждый объект свой спрайт (аналогично тому, как делали с Backdrop).
По итогу должно получиться что-то вроде этого. Да, знаю. Эти спрайты выглядят прекрасно
![](https://habrastorage.org/webt/fx/wc/ch/fxwcchce3czw7kk0txcmm6uaidy.png)
7. Добавим пару фреймов. На одном разместим Credits, на другом первый уровень нашей игры (ПКМ на название приложения – New Frame)
![](https://habrastorage.org/webt/-u/ym/vh/-uymvh5onablzlywvyfc3lnw2-u.gif)
8. Создадим события для наших кнопок, чтобы они начали выполнять свои функции. Для этого переходим в Event Editor и начинаем создавать события
![](https://habrastorage.org/webt/r2/i9/jl/r2i9jlqh5lypovmwg9xsmzhoj7e.png)
Кнопки Credits и Play настроим по принципу «Если пользователь один раз кликает ЛКМ на кнопку, то происходит переход к фрейму»
![](https://habrastorage.org/webt/_c/e8/46/_ce846unhp4nzua5du7yjoswvgy.png)
![](https://habrastorage.org/webt/t1/-j/no/t1-jno-dntgitz0nui0wxu1cjpu.png)
Здесь уже выбираем нашу кнопку. Для примера выберу Play
![](https://habrastorage.org/webt/co/qv/3e/coqv3eaw5ucy0ke9vpkelx60qs4.png)
И у нас начинает создаваться событие
![](https://habrastorage.org/webt/tp/bz/rc/tpbzrcnwg-5chim-dqpqwy5ifqq.png)
Которому мы говорим, что «если пользователь нажимает на Play, происходит переход на…
![](https://habrastorage.org/webt/o_/su/bj/o_subj5j52bmmrgx9fmyewuf4h0.png)
… первый уровень нашей игры»
![](https://habrastorage.org/webt/oq/uy/qc/oquyqcc4bzf7xzfbs146rfklc9e.png)
Аналогично следует проделать для кнопки Credits, чтобы происходил переход к одноименному фрейму.
![](https://habrastorage.org/webt/fq/mu/n7/fqmun707nt0b6vagphrgrcxvnr8.png)
Теперь настроим самую важную кнопку – кнопку выхода из игры. Здесь принцип будет уже таким: «Если пользователь один раз кликает ЛКМ на кнопку, то происходит завершение приложения». Т.е. мы должны создать такое же событие, но вместо «Jump to frame» выбрать «End the application»
![](https://habrastorage.org/webt/h1/bg/pu/h1bgpuqzfmhyeplmvel_oxdq0oa.png)
9. По сути, меню готово к использованию. Но для большего удобства предлагаю добавить возможность выхода в меню. Прошу не путать с паузой, которая выводит меню. Принцип работы: «При нажатии Esc происходит переход к фрейму меню». Для этого перейдем в Event Editor, например, фрейма Credits
![](https://habrastorage.org/webt/gl/qi/qm/glqiqmpaccm1vhhtgd8hzem7apc.png)
И создадим новое событие
![](https://habrastorage.org/webt/at/12/z9/at12z9fgvtxv7c-gob7jg6772ok.png)
Нажав кнопку «Esc»
![](https://habrastorage.org/webt/1o/cq/mn/1ocqmnb7hbid-hp097qpium23ou.png)
И дальше уже как обычно – Jump to frame и выбираем фрейм меню
![](https://habrastorage.org/webt/ss/v7/nq/ssv7nqvo7zyvwwhgi64xkaokr0c.png)
![](https://habrastorage.org/webt/fg/z-/ne/fgz-necbkso_y6ym0k-zhgtukok.png)
Аналогично повторяем для фрейма с первым уровнем нашей игры либо просто выделяем уже созданное событие, копируем его и вставляем в другом фрейме.
![](https://habrastorage.org/webt/fv/ip/d8/fvipd8_mypgrovogjc2kwesoh10.gif)
Теперь меню полностью готово. Для проверки можно нажать F8
![](https://habrastorage.org/webt/kp/rw/jh/kprwjhxrpreh0hbmqegqujvpmwq.png)
10. Перейдем к фрейму Credits. По сути – это титры. Для их реализации поступим следующим образом: отрисуем фон, добавив на него текст, после чего полученный результат добавим на фрейм через Backdrop. Пример:
![](https://habrastorage.org/webt/33/kf/ud/33kfudpcfpdjewp1iq855yknfqq.png)
Примечание 6: при использовании бесплатных материалов (музыка/спрайты/пр.) очень часто нужно указывать авторов в Credits. Пожалуйста, не забывайте об этом и всегда изучайте соглашения, по которым берете эти материалы
Что дальше
Это — статья из цикла. В следующей статье мы продолжим говорить о практике!
Об авторе
![](https://habrastorage.org/webt/mo/hx/yc/mohxycyvyyjsatckb_c_gvs0vo4.png)