Clickteam Fusion Developer Печать
Добавил(а) microsin   

Один приятель (художник) заинтересовал меня кроссплатформенной средой быстрой разработки, Clickteam Fusion Developer 2.5 [1] (раньше эта система называлась MultiMedia Fusion 2, MMF2). Он интересуется прототипированием графических игровых интерфейсов и давно мечтает покорить мир какой-нибудь самописной игрушкой, причем не любит разбираться в тонкостях языков программирования.

Разработчики Clickteam Fusion Developer (далее для краткости CTF) позиционируют свое детище как самый простой и быстрый способ создания игр и программ. Цитата: "... в течение первого часа Вы научитесь базовым инструментам. Соберите свое приложение Windows несколькими кликами мыши, или выполните компиляцию приложения на другие дополнительные платформы наподобие OS, Android, Flash и XNA (Windows Mobile phone и Xbox), если приобретете наши дополнительные экспортеры". Звучит очень заманчиво.

[Установка]

Вполне годные дистрибутивы можно найти сами знаете где. CTF версии 2.5 устанавливается очень просто. Однако имейте в виду, что если на диске назначения, куда Вы устанавливаете CTF, используется файловая система NTFS (а это почти всегда верно для Windows), то инсталлятор следует запустить с правами администратора.

После установки CTF и первого запуска откроется окно справки, предложат для ускорения обучения попробовать 3 примера создания игр:

ChocoBreak: демонстрация быстрого создания игры наподобие Арканоид.
Quick Physics: демонстрация возможности моделирования физического окружения (physical engine).
AllBoxedUp: использование physic engine для создания игры наподобие Angry-Bird.

Процесс обучения распределен на четкие шаги, так что если следовать процессу, то действительно многое становится понятным. Чем-то CTF по принципу организации похож на систему программирования Delphi или CBuilder ранних релизов. Здесь я рассмотрю только интересные или проблемные моменты, с которыми мне пришлось столкнуться.

[Редакторы и инструментарий]

В системе CTF есть несколько редакторов, предназначенных под разные задачи.

Storyboard Editor. В этом окне отображается список фреймов и их общие свойства. Storyboard Editor позволяет быстро перейти к редактированию каждого фрейма.

Frame Editor. В окно редактора фрейма Вы можете бросать объекты, располагать нужным образом, определяя внешний вид игрового поля. Редактор фрейма работает привычным общепринятым образом, как работают большинство редакторов графики и текста. Объекты на поле фрейма можно копировать методом "перетащи и брось" (drag & drop), если удерживать при перетаскивании клавишу Ctrl (таким же способом копируются файлы в Проводнике Windows). Можно выделить группу объектов курсором мыши, и перемещать их или копировать группой. Клавиши курсора помогают точно переместить выделенный объект или группу объектов на одну точку вправо, влево, вверх или вниз). Также работают стандартные комбинации клавиш для копирования, вырезания и вставки объектов (Copy, Cut, Paste).

Library Toolbar. Всплывающее снизу система доступа к готовым графическим примитивам, которые можно набрасывать в окно документа Frame Editor, и составлять из них приложение или игру. Библиотека устроена в виде проводника, которые показывает дерево папок и объектов библиотек в них. Двойной клик на библиотеке открывает доступ к её содержимому. Чего не хватает в Library Toolbar - так это фильтра или быстрого поиска компонентов.

Примечание: ИМХО навигация по библиотекам объектов очень неудобна - нет системы поиска, приходится делать лишние движения и клики, чтобы увидеть содержимое каждой библиотеки. Перед использованием библиотек придется их все бегло просмотреть и составить для себя памятку - где что находится.

Properties. Это редактор свойств, который позволяет настраивать параметры и поведение объектов, помещенных на игровое поле. Можно настроить, как объект перемещается, отображается, его анимацию, генерацию событий и т. п.

Event Editor. Это очень важный инструмент для составления функционала приложения. Здесь можно определить обработчики для событий, таких как срабатывание таймаута, нажатие клавиш, перемещение курсора мыши, столкновение объектов и т. д. Всем этим событиям можно поставить в соответствие какие-либо действия (операции) внутри приложения. Например, можно назначить клавише Escape действие выхода из программы, или, как другой пример, можно для движущегося объекта назначить функцию отскакивания (bounce), когда он встречается с другим предметом.

Все события и объекты в редакторе событий распределены по строкам и столбцам таблицы. Строки соответствуют событиям (при добавлении новых событий в таблице добавляются соответствующие строки), а объекты столбцам (при добавлении во фрейм новых объектов в таблице добавляются столбцы).

Также в этой таблице кроме столбцов пользовательских объектов есть столбцы, соответствующие системным объектам.

Clickteam Fusion Event Editor object Special Special. Этот объект содержит многие действия и условия для сложных действий на используемой платформе. Особенно это станет важным для Вас, когда наберетесь опыта и станете продвинутым пользователем.
Clickteam Fusion Event Editor object Speaker Speaker. Содержит действия для проигрывания звуков и музыки и условий для определения, что будет проигрываться - какой звук или какая музыка. Вы можете также настроить громкость, каналы вывода и многое другое.
Clickteam Fusion Event Editor object Storyboard controls Storyboard controls. Этот объект содержит действия и условия для регулирования потоком выполнения кода в приложении. Это может быть переход от одного фрейма к другому, выход из приложения и т. д.
Clickteam Fusion Event Editor object Timer Timer. Здесь содержатся условия для выполнения действий в определенные моменты времени при работе приложения.
Clickteam Fusion Event Editor object New objects New objects. Этот объект позволит Вам создавать новые объекты приложения, дубликаты уже имеющихся объектов, когда приложение уже работает. Например, таким способом один монстр может превратиться в десять монстров.
Clickteam Fusion Event Editor object Mouse Keyboard Mouse pointer and Keyboard. В этом объекте содержатся все необходимые условия для проверки мыши и нажатий клавиш.
Clickteam Fusion Event Editor object Player1 Player 1. Объект содержит действия для изменения очков и количества жизней игрока (используется в играх).

Вы можете создавать события, и назначать для них нужные действия (см. пример во врезке ниже).

Event List Editor. Те же самые события, которые редактируются и создаются в Event Editor, могут быть отображены по-другому, в виде списка. Это делает Event List Editor.

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

1. Откройте Event Editor (Ctrl+E), сделайте двойной щелчок в таблице на приглашение создать новое событие (New condition).

2. Откроется окно, где нужно выбрать тип создаваемого события. Выберите тип "The mouse pointer and keyboard" (иконка с изображением клавиатуры и мыши). Появившемся меню выберите The keyboard -> Upon pressing a key. Система будет ждать нажатие той клавиши, которую надо обработать как событие (появится окошко с сообщением "Please press a key"). Например, нам нужно, чтобы в ответ на нажатие клавиши Esc приложение закрывалось, тогда нажмите на клавишу Esc, и будет создано новое событие Upon pressing "Escape", оно появится в таблице событий.

3. Теперь осталось привязать к созданному событию нужное действие. Для этого нужно заполнить ячейку в пересечении строки события и столбца действия. Предположим, это будет выход из приложения, тогда нам нужен столбец Storyboard Controls (с иконкой в виде шахматной доски и коня). Кликните правой кнопкой на ячейку в пересечении строки события и столбца действия, и выберите пункт End the application.

Одному событию можно назначить несколько действий, тогда напротив строки события будет стоять галочка в нескольких столбцах. Например, Вы уже назначили действие Bounce (отскочить) для перемещающегося мячика, когда он столкнулся с другим объектом. Тогда для этого события можно еще назначить действие "проиграть звук". Для этого нужно в столбце объекта Sound задать действие Play Sample, и выбрать нужный проигрываемый звук. Назначенные действия для одного события будут происходить по возможности одновременно, в зависимости от быстродействия платформы, на которой работает приложение.

Уже созданные действия (галочки в пересечениях столбцов и строк таблицы редактора событий) можно перетаскивать курсором мыши по строкам таблицы (функция drag & drop), тогда эти действия будут копироваться между разными событиями. Ниже на скриншоте показана таблица редактора событий для приложения примера игры Chocobreak.

Clickteam Fusion Event Editor window01

[Часто используемые функции и быстрые клавиши]

Функция Shortсut Описание
Run Frame F7 Запуск на выполнение текущего выбранного фрейма.
Run Application F8 Запуск на выполнение приложения.
Build & Run Ctrl+F8 Для запуска приложения HTML5 будет задействован встроенный веб-сервер CTF.
Event Editor Ctrl+E Откроется окно редактора событий текущего выбранного фрейма.
Event List Editor Ctrl+L То же самое, что и редактор событий, только здесь события представлены в виде списка.
Frame Editor Ctrl+M Откроется окно редактора фрейма для текущего выбранного фрейма.
Copy, Cut, Paste Ctrl+C, Ctrl+X, Ctrl+V Стандартные функциональные комбинации для копирования, вырезания и вставки, общепринятые в рабочей среде приложений Windows.
Insert -> New Object Ctrl+J Открывает окно выбора объекта для вставки во фрейм.
Storyboard Editor Ctrl+B Открывает окно редактора переходов игрового процесса.

[Объекты]

В системе CTF имеется множество готовых объектов, которые можно выбрать из библиотек в браузере Library Toolbar. Также можно создавать новые объекты на основе имеющихся расширений (Extensions [2]), или по терминологии CTF, объектов.

Типы объектов поделены на категории, которые характеризуют объекты по какому-либо признаку. Например, есть объекты, относящиеся к платформе Android, или объекты, предназначенные для работы с файловой системой, и т. д. Некоторые объекты могут принадлежать нескольким категориям. Например, объект File будет виден и в категории Data, и в категории Files.

В таблице перечислены готовые типы объектов, которые уже имеются в CTF 2.5, сразу после установки системы. Эти объекты доступны, если вызвать диалог через меню Insert -> New Object. В столбце "Имя объекта" указано имя шаблона объекта, для которого можно создать новый объект.

Категория Имя объекта Описание
Android AdMob Позволяет добавлять рекламу в ваши игры и монетизировать приложение.
Android Camera Object Часть Android explorer. Предоставляет доступ к функциям камеры.
Android Font Packer Доступ к функционалу шрифтов Android.
Android InputType Изменяет метод ввода для Вашего приложения.
Android New Dialog Control v2 Позволяет Вам создавать и изменять под определенные задачи множество аспектов окон диалога (dialog boxes) на платформе Android, включая оповещения.
Android object Часть Android explorer. Предоставляет доступ к специальному функционалу, когда приложение работает на платформе Android.
Android Old INI object Часть Android explorer. Клон старого объекта INI, предназначенный для поддержки совместимости со старыми приложениями.
AndroidPlus Работает вместе с Android explorer. Предоставляет специальный функционал, когда приложение работает на устройстве Android.
Calendar Entries Control Представляет управление записями в календаре. Записи могут генерировать напоминание о событиях (в зависимости от даты).
ChartBoost v2 Позволяет монетизировать приложения CTF на основе ChartBoost на платформах iOS и Andrpod.
In-App Android Позволяет делать покупки в приложении (In-App purchases) на платформе Android.
LeadBolt Отображает объявления (рекламу?) для зарегистрированных пользователей LeadBolt.
OUYA object Часть Android exporter. Предоставляет специальную функциональность, когда приложение работает в консоли OUYA.
ScreenZoom Выполняет масштабирование, повороты, анимацию окна и слоев приложения.
Video Android Предоставляет доступ к функционалу video на платформе Android.
Audio CD-Audio Позволяет проигрывать звуковые треки компакт-диска.
Direct Show Проигрывает файлы видео и звука (MP3, MPEG, AVI и т. д.), или DVD. Использует библиотеку DirectShow компании Microsoft.
MCI Поддержка стандарта Microsoft для управления любыми мультимедийными устройствами, подключенными к Вашему компьютеру.
Mixer Дает прямое управление громкостью для звуковых данных и музыкальных файлов MIDI.
Background Backdrop Используется для создания фона приложений на основе растровых картинок.
Picture Отображает картинку как объект фона.
Quick Backdrop Объект фона, который может выглядеть как строка, прямоугольник или эллипс. Фон может быть заполнен либо сплошным цветом, либо градиентом, либо мотивом. Также можно задать у фона цветную рамку. Объект Quick Backdrop не имеет многих свойств других типов объектов, он не может перемещаться, и не может взаимодействовать с активными объектами. Он просто служит для украшения фона приложения.
Control Accelerometer object Получает данные от измерителя ускорения (акселерометр) на тех устройствах, которые это поддерживают (таких как устройства iPhone и многие устройства Android).
Analog Joystick Позволяет получать информацию от аналоговых джойстиков.
Click Blocker Блокирует левый, средний и/или правый клики кнопок мыши.
Joystick Control object Позволяет Вам управлять вводом виртуального джойстика.
Location object Запрашивает текущее месторасположения от спутниковой системы GPS на системах, которые это поддерживают (таких как устройства iPhone или Android).
Multiple Touch Возвращает данные касаний по экрану.
Data Array Числовой или текстовый массив (поддерживается до 3 измерений).
Counter Используется для сохранения чисел и отображения их простым способом или с анимацией, как простое число или в виде вертикальной или горизонтальной планки.
DataGrid Object Предназначен для представления Ваших данных в структурированном виде как таблицы-решетки (grid), так же, как данные представлены в программе Microsoft Excel. Этот объект имеется только в Pro-версии CTF.
Double-Precision Calculator Позволяет Вам выполнять простые вычисления над числами с плавающей точкой двойной точности (16 значащих цифр). Этот объект имеется только в Pro-версии CTF.
File Позволяет выполнять базовые файловые операции, такие как переименование, копирование и удаление файлов, создание подкаталогов и запуск внешних приложений.
Search Осуществляет поиск по текстовым файлам указанного слова или фразы, и сообщает о месте нахождения искомой строки.
Shared Data Позволяет разным приложениям использовать общие данные (числа и/или текст).
Database ODBC Предоставляет прямой способ получения доступа к информации из внешней базы данных.
Files Explorer Позволяет добавить в приложение возможность браузера файловой системы. Этот объект имеется только в Pro-версии CTF.
File Позволяет выполнять базовые файловые операции, такие как переименование, копирование и удаление файлов, создание подкаталогов и запуск внешних приложений.
Search Осуществляет поиск по текстовым файлам указанного слова или фразы, и сообщает о месте нахождения искомой строки.
Tree Control Система отображения объектов в виде иерархического дерева (Windows control).
Flash FGL Flash Система монетизации приложений FGL для приложений Flash (FGL Ads).
Flash® Player Предоставляет некоторые действия и условия, полезные для приложений, проигрываемых с помощью Adobe Flash® Player.
FLV Отображает видео из файла FLV, поступающее через Интернет.
Mochi Analytics Устаревший объект, предоставленный только по соображениям совместимости.
Mochi Coins Устаревший объект, предоставленный только по соображениям совместимости.
Mochi Connector Устаревший объект, предоставленный только по соображениям совместимости. Этот объект нужен для обеспечения функциональности других объектов Mochi.
Mochi Scores Устаревший объект, предоставленный только по соображениям совместимости.
Mochi Social Устаревший объект, предоставленный только по соображениям совместимости.
Games Hi-Score Представляет записи рейтинга количества очков (top scores) для игры.
Lives Отображает оставшееся количество "жизней" игрока.
Score Отслеживает количество очков, которое было набрано в процессе игры, и отображает его на экране.
Graphics And Animations Active Анимированный объект.
Active Picture Используется для отображения файла картинки. Это динамический объект: поддерживаются перемещения, повороты, сжатие/растяжение картинки, и т. п.
Animation Проигрывает файлы анимации (FLI, GIF, AVI).
Draw object Позволяет Вам выполнять простые графические операции (рисование точки, линии, прямоугольника, эллипса, применение заливки).
Picture Отображает файл картинки как объект фона.
Screen Capture object Позволяет Вам захватить графику областей экрана и сохранить их как графические файлы.
Html5 fgl Интерфейс с рекламным и игровым API для HTML5.
HTML5 Опции и функции, специфичные для приложений на основе JavaScript и HTML5.
HTML5 Video Отображает в приложении HTML5 видеофайл, поступающий из сети Интернет.
ScreenZoom Выполняет масштабирование, повороты, анимацию окна и слоев приложения.
Interface Active System Box Отображает области (boxes), кнопки, чекбоксы или гиперссылки с использованием системных или пользовательских цветов.
Background System Box Отображают области фона с текстом или без него, с использованием системных или пользовательских цветов.
Button Используется для создания обычных кнопок для клика (push buttons), чек-боксов (галочки), радиокнопок (кнопки выбора одного варианта) и кнопок на основе растровых картинок (bitmap buttons).
Combo Box Используется для создания простого или выпадающего списка выбора.
Cursor Позволяет модифицировать курсор мыши (с выбором стандартной картинки для него, или растровой картинки).
DataGrid Object Предназначен для представления Ваших данных в структурированном виде как таблицы-решетки (grid), так же, как данные представлены в программе Microsoft Excel. Этот объект имеется только в Pro-версии CTF.
DialogBox Позволяет добавлять окна диалога в приложение. Имеется только в Developer-версии CTF.
Edit Box Простой бокс для ввода текста.
Explorer Позволяет добавить в приложение возможность браузера файловой системы. Этот объект имеется только в Pro-версии CTF.
List Позволяет создавать настраиваемые списки строк в приложении.
List View Элемент управления (Windows control), разработанный для отображения списка элементов, состоящих из текста, в форме решетки. Этот объект имеется только в Pro-версии CTF.
Popup Menu Позволяет создавать для приложения настраиваемые всплывающие контекстные меню.
Rich Edit Object Область ввода текста, поддерживающая расширенное форматирование. Позволяет отображать, загружать, сохранять текст в формате файлов RTF.
Static Text Простая строка текста, отображаемая как стандартный элемент управления GUI-интерфейса.
Sub-Application Позволяет Вам вставить в фрейм приложения либо другое приложение, либо другой фрейм.
ToolTip object Позволяет в приложении отображать окна всплывающих подсказок (balloon windows).
Tree Control Система отображения объектов в виде иерархического дерева (Windows control).
Window Control Позволяет управлять окном, которое используется для отображения Вашего приложения.
Window Shape Используется для модификации формы окна Вашего приложения. Можно применить предварительно заданные формы, или даже маску, заданную с помощью картинки.
Internet Download object Позволяет приложению загружать файл из сети Интернет.
Ftp Позволяет подключиться к файловому серверу Интернет через стандартный протокол FTP.
Vitalize! Plug-in Позволяет приложению обмениваться с веб-браузером через Vitalize!-плагин.
iOS Camera Предоставляет доступ к функциям камеры в приложении, работающем на платформе iOS.
Game Center Achievement Предоставляет доступ к системе игровых достижений в приложении на платформе iOS.
Game Center Achievements
Game Center Connect Предоставляет доступ к функциям игрового центра Apple в приложении на платформе iOS.
Game Center Leaderboard Отображает игровую информацию, показывающую рейтинг игрока по отношению к другим игрокам.
Game Center Multiplayer Создает многопользовательскую игру (игра с одновременным участием нескольких игроков) на основе игрового центра Apple.
iOS Предоставляет доступ к дополнительным функциям для iOS-приложений.
iOS Button Отображает кнопку операционной системы iOS.
iOS Multiple Line Editbox Отображает многострочный элемент редактирования текста.
iOS Single Line Editbox Отображает простой (однострочный) элемент редактирования текста.
iOS Store Предоставляет доступ к покупкам из приложения в онлайн-магазине Apple.
iOS Video Отображает фильмы на устройствах iOS.
ScreenZoom Выполняет масштабирование, повороты, анимацию окна и слоев приложения.
Math Double-Precision Calculator Позволяет Вам выполнять простые вычисления над числами с плавающей точкой двойной точности (16 значащих цифр). Этот объект имеется только в Pro-версии CTF.
Network Network Позволяет приложениям пересылать данные по локальной сети путем открытия канала для обмена между двумя компьютерами.
Other Objects (другие объекты) Active Backdrop Позволяет отображать, перемещать и изменять фоновые изображения в приложении. Изображение не мешает игре, так как не генерирует никаких столкновений.
Active Direct Show Проигрывает файлы видео или звука (MP3, MPEG, AVI и т. п.) в режиме без окна. Использует библиотеку DirectShow компании Microsoft.
ActiveX Позволяет использовать в приложении элементы управления ActiveX.
Clickteam Movement Controller Контроллер для перемещений объектов Clickteam.
GraphicFont Отображает графические шрифты в мобильных приложениях на основе HTML5 или Java.
InAndOut Movement Controller Контроллер для перемещений In и Out.
Layer object С помощью слоев позволяет изменить порядок отображения объектов на фрейме. Можно также показывать, скрывать или перемещать слои.
Mobile Utilites Набор утилит для приложений Java Mobile.
Object Mover Перемещает все объекты, которые выше этого объекта.
Physics Physics - Engine Основная обработка перемещений, которые учитывают законы физики.
Physics - Fan Генерирует ветер, который может смещать объекты.
Physics - Ground Определяет основание (земля) для игрового поля.
Physics - Joint Создает шарнирные соединения между объектами.
Physics - Magnet Создает притяжение (магнетизм) между объектами.
Physics - Particles Создает частицы в материальном мире.
Physics - Rope and Chain Создает веревки, цепочки или мосты в материальном мире.
Physics - Treadmill Перемещает объекты с постоянной скоростью, в одном направлении.
Printer Print Позволяет напечатать экран или область экрана приложения.
Protection Trial Period Object Позволяет создавать демо-версии приложения, у которых прекращается нормальная работоспособность после указанного времени.
Storage Ini Позволяет сохранять в INI-файлы и считывать обратно оттуда любое значение или текст.
System OS Позволяет получить информацию о системе (платформе), на которой работает приложение (имя пользователя, язык, переменные окружения, и т. д.). Этот объект имеется только в Pro-версии CTF.
Registry2 Объект позволяет читать значения из реестра или записывать туда значения.
Text Formatted Text Позволяет импортировать текст файлов в формате RTF (Rich Text Format) для отображения этого текста в приложении.
Question & Answer Отображает вопрос и варианты ответов с возможностью выбора одного из ответов пользователем.
Quiz object Позволяет создавать сложные викторины (опросы, тесты).
Rich Edit Object Область ввода текста, поддерживающая расширенное форматирование. Позволяет отображать, загружать, сохранять текст в формате файлов RTF.
String Используется для сохранения и отображения строки текста. Может содержать в себе несколько строк.
Time Date & Time Используется для отображения даты и времени в различных форматах. Может работать как секундомер (stopwatch) или устройство обратного отсчета времени.
Video AVI Проигрывает файлы видео в формате AVI.
Direct Show Проигрывает видеофайлы и звуковые файлы (MP3, MPEG, AVI и т. д.), или DVD. Использует библиотеку DirectShow компании Microsoft.
MPEG Проигрывает файлы MPEG. Замечание: Вы должны использовать вместо этого объекта объект AVI или DirectShow.
QuickTime Проигрывает файлы QuickTime и QuickTimeVR.
XNA XBOX Gamepad Обеспечивает поддержку геймпада XBOX.

Дополнительно в диалоге Insert -> New Object имеется кнопка Manager, которая вызывает Менеджер Расширений, позволяющий устанавливать дополнительные объекты, которые еще не установлены (Not installed, эти объекты расположены в списке на самом верху). В списке Менеджера Расширений присутствуют также и те объекты, что уже установлены (Installed, up-to-date or undetermined status).

Создание нового объекта:

1. Меню Insert -> New Object. Откроется окно, где можно выбрать тип объекта, выберите нужный тип.

Создание объекта подробно описано в документе "A Guide to Creating Objects in Fusion 2.5" (файл object-creationrev1.pdf), который можно найти на сайте Clickteam Fusion. Перевод этого документа см. в статье "Как создать объект для Clickteam Fusion 2.5".

[Редактор свойств объекта (Properties)]

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

Size/Position. Эта закладка задает начальное положение объекта в окне приложения и его размеры.

Movement. Здесь можно определить, будет ли объект неподвижным (Static), либо получит возможность перемещаться. Например, его можно будет перемещать под управлением мыши (Mouse controlled). Для объекта можно задать прямоугольную область, в которой ему разрешено перемещаться (раздел свойств Edit movement, нажмите кнопку Edit).

[FAQ]

Вы запускаете index.html прямо с локального диска, без использования веб-сервера. Экран, который отображается при запуске, дает подсказку по решению проблемы: нужно запустить приложение через меню CTF Run -> Build & Run, при этом запустится локальный веб сервер для загрузки и запуска приложения. Либо возможен второй вариант - нужно скопировать выходной каталог с выгруженным кодом (каталог, где находятся папки resources, src и файл index.html) на какой-либо веб-сервер (Денвер, либо внешний, находящийся в Интернет), и уже оттуда открывать в браузере файл index.html.

Свой код можно добавлять путем создания собственных расширений (см. следующую врезку).

Система Clickteam Fusion 2.5 достаточно гибкая, чтобы позволить разработчикам кодировать на C++ для своих расширений. Документация доступна с официальным Extensions SDK (Software Development Kit для расширений).

Extension SDK позволяет Вам создавать совершенно новые расширения для Fusion 2.5 и различные модули экспорта. Всего имеется 5 видов Extensions SDK для различных поддерживаемых платформ:

• Windows SDK
• iOS SDK
• Flash SDK
• Android SDK
• HTML5 SDK

Загрузите нужный для Вас SDK, и начните разрабатывать свои собственные расширения. Эти расширения могут увеличить быстродействие и функционал Ваших приложений и игр, созданных в системе Fusion 2.5. Созданные Вам расширения смогут поддерживать дополнительные встроенные в платформу функции и использовать существующие SDK и API сторонних фирм.

Расширения можно предоставлять для других пользователей бесплатно либо за деньги с помощью системы Clickstore [5]. В дополнение к разработке новых функций для собственных приложений, Вы также можете зарабатывать путем разработки и продаж самих расширений. Просмотрите текущий список расширений, которые предоставляет магазин Clickstore.

Чтобы начать работать с разработкой расширений, нужно вначале загрузить Windows SDK. Он содержит базовый SDK, который работает в редакторе системы Fusion на рабочей платформе Windows. После того, как завершите разработку своего расширения, Вам нужно будет сконвертировать это расширение для тех платформ, которые Вам нужны.

При компиляции приложения в HTML5 есть 2 варианта: HTML5 Development и HTML5 Final Project. Первый из них дает нормальный, удобочитаемый код Runtime.js. Второй вариант дает код, понятный только для компилятора, однако он получается в несколько раз меньше по размеру.

Устройства USB, с которыми обычно нужно обмениваться данными, это устройства типа USB CDC (виртуальный COM-порт) или USB HID (мыши, клавиатуры, джойстики и другие устройства ввода/вывода). К сожалению, ни в объектах, устанавливаемых вместе с CTF, ни в Clickstore [5] нет таких расширений. Однако есть несколько способов решить задачу.

USB CDC. Есть старое расширение Serial Object, которое было разработано для MMF2. Автор использовал его для обмена с платами Arduino. Теоретически расширение должно работать и в CTF2. Оно бесплатное, можно скачать и использовать: serialobj.zip.

USB HID. HIDDevice.zip.

[Словарик]

Frame в терминологии CTF это уровень игры. Frame можно рассматривать как "игровое поле" или часть игры. При создании нового приложения (File -> New) система автоматически создает Frame 1.

[Ссылки]

1. Clickteam Fusion Developer site:clickteam.com.
2. Clickteam Extensions site:clickwiki.net.
3. CTF 2.5 & MMF2 Examples site:castles-of-britain.com.
4. Extensions SDK site:clickteam.com.
5. Clickstore site:clickteam.com.