Что Нового
Версия 7.0 Game Maker имеет множество важных отличий от версии 6.1. В частности новый механизм расширения. Ниже описаны самые важные изменения.
Несовместимости
Версия 7.0 использует свой формат файла. В результате файлы теперь имеют расширение .gmk. Новая версия может читать файлы .gm6, созданные в предыдущей версии, они полностью совместимы друг с другом.
Есть незначительная несовместимость в использовании переходов между комнатами. В предыдущей версии переходы могли использоваться между фреймами в одной комнате. Теперь это невозможно. Переходы могут использоваться только между комнатами. Их число значительно увеличено.
Пакеты Расширения
Главное усовершенствование версии 7.0 Game Maker - механизм пакетов расширения. Пакеты расширения могут или добавить новые действия Game Maker, или добавить новые функции, используя DLL или GML файлы. Добавился новый пункт к списку ресурсов, в котором пользователь может указать, какие пакеты расширения он будет использовать. Тогда они сразу интегрируются в систему. Действия показаны в форме объектов, функции - цветным выделением в редакторе скриптов, и в списке функций.
Пакеты расширения могут иметь собственные файлы помощи, которые будут автоматически добавлены в специальное меню помощи игры.
Также все необходимые файлы автоматически добавятся в игру.
По умолчанию доступны три пакета расширения.
- GM Printing - добавляет множество функций для печати форм, текста, спрайтов, скриншотов и т.д. и содержит диалоги для выбора и работы с принтером.
- GM Transitions - добавляет более 60 пространственных переходов к программе.
- GM Windows Dialogs - добавляет функции для создания разных диалогов windows для выбора файлов, вывода сообщений и т.п.
Довольно легко самому создавать пакеты расширений. Существуют специально разработанные для этого программы.
За подробностями заходите на http://www.yoyogames.com/extensions.
Механизм расширений дополняет и повышает возможности существующего механизма DLL библиотек.
Публикация игр
В панель инструментов добавлена кнопка публикации. При нажатии на нее Вы переместитесь на наш сайт, где Вы можете опубликовать свою игру для всеобщего обозрения.
Режим разделения экрана
Механизм всплывающих окон был значительно расширен. Всплывающие окна, такие как видео и картинки
теперь по умолчанию отображаются в главном окне игры. Это добавляет много новых возможностей, например изменение размера всплывающего окна.
Также могут быть использованы и другие графические форматы. А также теперь текстовые файлы могут содержать картинки.
Игровая информация
По умолчанию игровая информация показывается в игровом окне и может быть закрыта кнопкой закрытия.
Отдельная кнопка для события закрытия программы
Теперь возможно отображение события когда кнопка закрытия программы была нажата например проверка нажата ли клавиша Escape.
Было добавлено событие в группу Other events (прочие события), которое срабатывает когда пользователь нажимает на кнопку закрытия программы или игры. Так что вы можете назначить различные действия на событие нажатия кнопки закрытия или кнопки Escape на клавиатуре.
Переходы комнат
Механизм перехода между комнатами изменён и дополнен, он даёт вам больший контроль над переходами и добавляет много новых, таких как затухание экрана, выталкивание картинки, смешивание изображений комнат, повороты, и т.д. Сейчас возможно написание собственного скрипта перехода между комнатами (но это уже более продвинутый уровень). Также предоставлен пакет расширений с множеством различных переходов.
Дата-структуры
Также увеличилось количество возможных операций с дата-структурами. Например дата-структуры теперь можно копировать, добавлена функция записи дата-структуры в строку и возможность чтения этой строки. Эта строка может быть использована например для сохранения дата-структуры в файл. Также доступно больше функций для такого вида дата-структуры как сетка, такие как копирование и добавление отдельных частей сетки.
Включаемые файлы
Механизм включаемых файлов в исполняемый файл игры был значительно дополнен. Для каждого файла теперь указывается под каким именем он должен храниться и где он должен храниться. Теперь можно включать файлы и в редактируемую версию игры. Также доступны функции для экспорта файлов в любой момент, а не только во время старта игры.
Добавление спрайтов и задних фонов с альфа каналом
Теперь доступны функции sprite_add_alpha() и sprite_replace_alpha(), чтобы добавить или заменить
спрайт из файла который имеет альфа канал (такие как png файлы) чтобы получить более красивый эффект прозрачности. Аналогичные функции доступны и для фонов.
Новый регистрационный механизм
Версия 7 использует новый механизм регистрации. Бесплатная и зарегестрированная версия теперь называется Lite и Pro Edition. Улучшен процесс онлайн регистрации который позволяет незамедлительно обновить программу после её оплаты. Регистрационные ключи старых версий 5 и 6
могут быть обменены на коды для активации версии 7.
Другие изменения
Также сделано большое количество прочих изменений и добавлений. Вот наиболее важные из них.
- Выбранное направление(я) в действии Move Fixed (фиксированное движение) теперь выделяется красным.
- Когда игра запущена полоса загрузки теперь показывается значительно раньше.
- Переменованы все действия для наибольшей благозвучности.
- При добавлении или замене спрайтов и фонов или когда используется режим разделения экрана, стало доступно множество графических форматов, такие как jpg, tif, bmp, gif, png, и др.
- В редакторе изображений теперь доступна комманда (Ctrl-A) для выделения всего изображения.
- На панель инструментов вынесена кнопка для создания исполняемого файла с игрой.
- В список констант в настройках игры добавлены кнопки для перемещения констант по списку вверх или вниз
и для вставки константы перед текущей.
- Функция message_position(-1,-1) теперь устанавливает окошко с соообщением в центр экрана.
- Кнопки печати были добавлены в редакторы скрипта и кода.
- Кнопки для печати и сохранения были добавлены на форму отладочного окна.
- Было добавлено событие, которое происходит когда образец находится вне вида или пересекает его границу.
- Форма, показывающая ошибки в игре, была расширена и позволяет копировать содержимое в буфер обмена.
- Были добавлены следующии функции random_set_seed(seed), random_get_seed(), и randomize().
- В редакторе изображений вы теперь можете перейти к следующему/предыдущему кадру спрайта.
- Глобальные переменные теперь могут быть объявлены используя ключевое слово globalvar. После этого объявления
теперь больше не нужно добавлять слово global и ставить после него точку.
- Во время игры клавиша F9 теперь снимает скриншоты, если эта функция включена в глобальных игровых настройках.
- Добавлены функции draw_line_width(x1,y1,x2,y2,w) и draw_line_width_color(x1,y1,x2,y2,w,col1,col2)
чтобы рисовать линии определённой толщины.
- d3d_start() и d3d_end() теперь возвращаются независимо от успешности их выполнения..
- Вы теперь можете использовать переменную cursor_sprite для автоматического рисования спрайта в позиции курсора.
- Повышено максимальное число аргументов DLL функций до 16.
- В опциях в подпункте Other(Другие) вы можете указать версию игры и прочую информацию, которая будет добавлена в исполняемый файл.
- Добавлены функции sprite_save(ind,subimg,fname) и background_save(ind,fname)
для сохранения ресурсов как точечные рисунки.
- Добавлена переменная program_directory которая хранит путь к папке с исполняемым файлом.
- Добавлена константа c_orange.
- ...
Исправленные ошибки
Следующие ошибки были исправлены.
- Решена проблема приводящая иногда к порче файлов. Версия 7 будет читать файлы которые были ранее помечены как испорченные.
- Проблема с ограничениями реальных переменных была решена. Это также приводило к проблемам с функциями которые взаимодействовали с датой и временем.
- Ошибка в таймлайнах была исправлена, приводящая к повторениям моментов.
- Поразрядное присваивание теперь работает корректно и не выдаёт синтаксических ошибок.
- show_message() действие и функция теперь показывает сообщение в центре экрана.
- Использование эффектов снега и взрыва вместе теперь работает корректно.
- Уязвимость в получении информации из уже запущенной игры была удалена.
- Окно отладочного режима больше не прыгает в верхнюю часть экрана.
- Game Maker и созданные игры теперь корректно работают под Windows Vista. Хотя в результате размер файла игры значительно возрастает.
- Когда происходит копирование текста в редактор кода, шрифт теперь отображается корректно и синтаксис выделяется соответствующим цветом.
- Фоны больше не теряют своих настроек, когда новое изображение было загружено.
- Была исправлена ошибка в рисовании заполненных прямоугольников.
- Игровое окно теперь становиться видимым до того как произойдет событие создания.
- Исправлена проблема в функции median().
- Испралено возможное падение программы из-за изменения размера сетки.
- Сравнение и поиск значений в сетках теперь работает корректно для строковых переменных.
- Редактирование не прозрачных спрайтов больше не будет иногда включать прозрачность в режиме предпросмотра.
- Решена проблема в проверке столкновения с образцами у которых изменили размер.
- Решена проблема в проверке столкновения с линиями и треугольниками которые имеют координаты с не целыми значениями.
- Функция file_bin_open теперь создаёт файл если он ещё не существует.
- Добавлены проверки в функцию object_set_parent во избежания циклов.
- Исправлена ошибка в действии рикошета с диагональным отскоком.
- Скорректирована проблема в эффекте дождя когда комната была выше чем 1000 пикселей.
- Скорректирована проблема когда образцы без спрайтов должны получить событие Outside Room (Вне комнаты).
- Скорректирована проблема во время перетаскивания действий между формами Объекта и Таймлайна (Теперь зто действие не возможно).
- Повышена минимальная высота формы для фонов чтобы сделать невозможным исчезания кнопки OK.
- Скорректирована проблема с адресацией переменных в образце после изменения объекта во время шага.
- Скорректирована проблема когда (де-)активация образцов без спрайтов могла работать неверно.
- Скорректирована ошибка в рисовании пути с нулевой длиной.
- Решена проблема когда действия события выхода внутри блока повторения не завершало это событие.
- Скорректирована позиция полосы загрузки.
- Скорректирована ошибка в удалении образцов находящихся вне комнаты в редакторе уровней.
- ...