Перед вами небольшой обзор новых возможностей Gamemaker версии 8.1.69, сравнительно с Game Maker 8.0.
Редактор комнат.
Добавлена возможность изменять масштаб отображения комнаты, проще говоря - зума. Изменять его можно колёсиком мыши, а можно кликать на кнопки -/=/+ на панели инструментов комнаты. В редакторе комнат ПКМ теперь вызывает меню объекта, а ctrl+ПКМ удаляет объекты, в контекстное меню объекта добавлен пункт "Edit Object", с помощью которого можно вызвать редактор объекта прямо из редактора комнат. Добавлена возможность быстрого перемещения вида с помощью средней кнопкой мыши, что в некоторых случаях гораздо удобней, чем использование полос прокрутки. Исправлен баг, в связи с которым в gm 8.0 настройки редактора комнаты (такие как отображение сетки, удаление нижележащих объектов, и т.д.), не сохранялись нормально при развёрнутом окне. Также, опция "Delete underlying objects" в редакторе комнат теперь по умолчанию выключена.
Редатор кода
Очень сильно увеличена скорость отрисовки кода в редакторе кода. Теперь Вы можете использовать Tab и Shift+Tab для табуляции выделенного блока кода. Появилась иконка, с помощью которой можно включать / выключать отображение окна автодополнения кода (окна "подсказки"), а закрыть окно автодополнения теперь можно клавишей Escape. Появилась возможность изменить название действия кода по умолчанию - "Execute a piece of code", если в первой строке редактора кода указать имя после "///":
Аргументы в скриптах
Появились новые правила передачи аргументов в скрипт.
1. Если вы используете только переменные argument0..argument15, то вы должны передать именно такое количество аргументов в скрипт. К примеру, если вы используете argument2, то вы должны передать точно три аргумента.
2. Если вы используете только массив argument[X], тогда вы можете передать в скрипт любое кол-во аргументов.
3. Если вы используете переменные вида argument0..argument15 и массив argument, то вы должны обязательно передать аргументы вплоть до argumentX, или опционально больше аргументов, но не меньше. К примеру, если вы используете argument1 и argument[X], то вы должны передать как минимум 2 аргумента, хотя можно передать и больше.
3. argument_count возвращает кол-во аргументов, которые были переданы. (0, если аругменты не были переданы)
4. Вызов элемента argument[argument_count] или больше, теперь возвращает "runtime error".
Фон прозрачности (двухцветный фон, обозначающий прозрачность)
Теперь можно настроить цвета и размер фона прозрачности, также добавлен пункт "Transparent Background Settings" в меню "Edit", вызывающий окно редактирования фона прозрачности. Фон прозрачности добавлен в комнату, и размер сетки фона прозрачности теперь глобальная переменная.
Настройки Game Maker
Также в настройках Game Maker (File -> Preferences) добавлена возможность изменить стандартный цвет, которым заполняется комната в редакторе комнат, когда ни цвет, ни фон в комнате не выставлены (по умолчанию - чёрный), а можно отключить заполнение этим цветом вообще. Кроме того, можно указать, должна ли быть включена сетка в редакторе комнат по умолчанию. Добавлен пункт, позволяющий выбрать вкладку действий, которая будет по умолчанию открыта, когда открывается объект (к примеру, вы можете уставить вкладку кода (номер 4) открытой первой по умолчанию, что довольно удобно). Во вкладке "Scripts and Code" теперь можно изменить не только цвета кода, но и цвета редактора кодов, включая цвет текущей строки и цвет выделения.
Редатор спрайтов
В редакторе спрайтов теперь можно использовать колёсико для увеличения / уменьшения масштаба отображения спрайта (зума) и среднюю кнопку мыши так же, как и в редакторе комнат.
Редатор путей
В редакторе путей теперь так же можно использовать среднюю кнопку мыши, как и в редакторе комнат.
Другое
Теперь размер окна новостей можно изменять, а при открытии GM оно разворачивается на всю рабочую область. Окошко Help -> About GameMaker было изменено. Теперь ресурсы снова можно переименовывать с помощью клавиши F2 (как это было в gm 7, в gm 8.0 клавиша F2 была заменена на комбинацию ctrl+R). Новый формат GM исходников - ".gm81" и новый механизм шифрования исполняемых файлов (.exe). Добавлены аппаратные средства T&L для более быстрого 2D и 3D рендеринга и ZBuffer теперь 24-битный. Так же, теперь Вы можете использовать правый алт, чтобы вставлять символы с диакритическими знаками. Переписан механизм создания шрифтов, кроме всего прочего - теперь можно указывать уровень антиалиасинга или вовсе отключать его. В GM Standard Edition, поиск по скриптам теперь выполняет поиск по всему коду в исходнике, включая все скрипты, код в объектах, комнатах, событиях создания экземпляров объекта, тригерры и т.п. Добавлены пункты "Report a Bug", для того, чтобы сообщить об ошибке или пожелании на
Новые функции, константы и переменные:
draw_self() - работает так же, как и draw_sprite_ext, но доступно в Lite версии.
d3d_light_define_ambient(colour) - изменить цвет окружения по умолчанию.
dot_product(x1,y1, x2,y2) - возвращает скалярное произведение двух 2D векторов.
dot_product_3d(x1,y1,z1, x2,y2,z2) - возвращает скалярное произведение двух 3D векторов.
point_distance_3d(x1,y1,z1, x2,y2,z2) - возвращает расстояние между двумя 3D координатами.
os_type - возвращает тип операционной системы, на которой запущена игра (win, mac, ios и т.п.)
os_device - возвращает тип устройства, на котором запущена игра (iPhone, iPhone4, iPad и т.п.)
argument_count - возвращает кол-во переданных аргументов в скрипт.
Новых багов с новой версией появилось достаточно, о чём можно судить, просматривая записи на
В целом, можно сказать, что несмотря на все баги - обновление удачное. Множество мелких изменений, добавление зума, ускорение отрисовки кода, табуляция клавишей tab и контроль кол-ва аргументов в скриптах - вместе это довольно существенные новшества. Благодаря баг-трекеру баги оперативно исправляются, так что вскоре, надеюсь, их количество будет стремиться к минимуму.
DeatHSoul.