GAME MAKER 4.3 Изменения ======================= Основные изменения в GAME MAKER версии 4.3 в сравнении с версией 4.2. Определение События (Event) --------------------------- Механизм определения событий в окне объекта был немного изменен. Отображается только список активных событий. Новые события могут быть добавлены нажатием кнопки. Это позволило добавить новые типы событий для нажимаемых и отпускаемых клавиш (см. ниже) и позволяет легче просмотреть какие события определены, а какие нет. Дополнительные события клавиатуры и мыши ---------------------------------------- Были добавлены дополнительные события клавиатуры и мыши, которые вызываются только когда нажата и отпущена определенная клавиша или кнопка мыши. Благодаря ним настройка генерации непрерывных событий клавиатуры становится не актуальной. Объединяемые игры (Merge game) ------------------------------ В меню Game Maker появилась новая команда, позволяющая добавлять в текущую игру любую другую (объединяя их). Она добавит все спрайты, звуки, объекты, комнаты и т.д. в игру. При этом она не загружает игровую информацию и не изменяет установки. Обратите внимание, что всем ресурсам, образцам и тайлам будут присвоены новые идентификаторы, который могут привести к несовместимости если Вы используете их в коде. Окна сообщений -------------- Окна сообщений теперь имеют более приятный вид. Также появились функции message_background() и т.д., для изменения внешнего вида окон сообщений. Истинное наследование --------------------- При использовании родительских объектов теперь существует полное наследование. То есть когда объект A является материнским для B, B рассматривается как частный случай объекта A. Так когда Вы, например, применяете действие ко всем образцам объекта A, оно также применяется и к образцам объекта B. Аналогично и с инструкциями в коде и когда установливаются переменные в других образцах объекта. Также, когда Вы вызываете подпрограммы подобные instance_nearest или instance_position они будут приняты во внимание. ЭТО ИЗМЕНЕНИЕ МОЖЕТ ПРИВЕСТИ К НЕСОВМЕСТИМОСТИ СО СТАРЫМИ ВЕРСИЯМИ ПРИ ИСПОЛЬЗОВАНИИ РОДИТЕЛЕЙ! Дополнительные действия ----------------------- Добавлены два действия, которые работают с переменными: одно рисует значение переменной и другое сравнивает значение переменной со значением. Дополнительные возможности рисования текста ------------------------------------------- При рисовании текста Вы можете использовать символ # (CR chr(13) или LF chr(10)) для указания новой строки. Появилась новая функция draw_text_ext(x,y,str,sep,w) она рисует текст в позиции x, y, определяя при этом, не превышает ли ширина w пикселы и sep - расстояние между строками. Функции string_width_ext(str,sep,w) и string_height_ext(str,sep,w) соответствуют этой новой функции рисования текста. Улучшено поведение постоянных образцов при старте комнаты --------------------------------------------------------- Это важно только для опытных пользователей. Были изменены порядок создания образцов и обработка событий при переключении комнат, теперь откорректирована ситуация с постоянными образцами. В частности при переключении комнат происходят следующие вещи в указанном порядке: - событие конца комнаты для всех образцов в текущей комнате - (Нет события уничтожения для образцов, которые удаляются!) - событие создания новых образцов - код создания комнаты - событие старта комнаты (также для постоянных образцов) Постоянные образцы теперь существуют, когда выполнен код создания комнаты! ЭТО ИЗМЕНЕНИЕ МОЖЕТ ПРИВВЕСТИ К НЕСОВМЕСТИМОСТИ СО СТАРЫМИ ВЕРСИЯМИ ПРИ ИСПОЛЬЗОВАНИИ КОДА СОЗДАНИЯ КОМНАТЫ! Редактор Кода ------------- Редактор кода и сценария теперь имеют меню, всплывающее при нажатии правой кнопки мыши, с дополнительным функциональными возможностями такими как поиск, замена, перемещение к определенной строке и выделение всего. Исправленные ошибки ------------------- - В предыдущих версиях, при замене спрайтов или фонов, создавались временные файлы, которые потом не удалялись, что иногда приводило к излишнему использованию драгоценного дискового пространства. Данная ситуация исправлена. - Исправлена ошибка в рисовании не выровненного по левому краю вращаемого текста. - Окна информации об объекте больше не дублирует выводимые данные. - При переходе из комнаты с видом, в комнату без видов - больше не создает проблемы с позицией мыши. - Функция get_directory() больше не изменяет рабочий каталог. - Событие конец комнаты и событие окончания игры иногда не выполнялись. Теперь исправлено. - Образцы, созданные в коде создания комнаты имеющие событие создания больше не выполняются дважды. - Добавлен клавишный код vk_subtract. - Функция check_mouse_button() теперь правильно работает с mb_none. - Большее не возникает ошибок при создании анимаций с 1 фреймом. - Остановливет звуки не повторя цикла. - Ошибка в редакторе сценариев со строками длиннее 1000 символов. - Код создания комнаты без кода (но например с пробелами или комментарием) больше не вырубает игру. - Загрузка сохраненной игры теперь правильно изменяет размер окна. Небольшие изменения ------------------- - Окно объекта теперь масштабируется. - В окне справки добавлена новая опция, позволяющая отображать Подсказку в окне подобном игровому. В результате получается - будто справка появляется в одном и том же окне, что и сама игра. - Теперь Вы можете определять DLL'ки содержащие до 8 реальных параметров (не строки). - Добавлены функции object_get_parent(obj) и object_is_ancestor(obj,anc) для проверки родительских и основных объектов. - Функции get_open_filename(), get_save_filename() и get_directory() теперь возвращают пустую если игрок нажимает кнопку (Cancel). get_color() возвращает -1, если выбирается (Cancel). - Действие выполнения сценария теперь отображает название сценария. - Функция check_mouse_button() теперь может иметь mb_any как параметр. - Добавлены функции string_replace(), string_replace_all() и string_count(). - Добавлена функция execute_file(fname) для выполнения сценария в файле. - Добавлены функции для получения свойств объектов, спрайтов и других ресурсов. - Добавлены функции для поиска фалов в каталоге. - Добавлена функция для проверки атрибутов файла. - Объекту без спрайта будет назначена небольшая иконка в редакторе комнаты. - Добавлена функция stop_all_sounds(). - Возможность использовать иконки с большим количеством цветов. - Добавлены функции parameter_count() и parameter_string(ind) для чтения параметров командной строки. - Добавлена альтернатива функции get_directory_alt(cap,root). - Добавлено несколько функций, для работы с CD музыкой. - Некоторые простенькие шкурные возможности. - Функция window_handle(). - Добавлена кнопка справки к окне действия кода. - В редакторе комнаты, комбинация (Ctrl-G) включает/отключает сетку. - В редакторе комнаты Вы предупреждаетесь, когда вне комнаты имеются образцы или тайлы. - Добавлена функция, для установок корня системного реестра (например HKEY_CLASSES_ROOT). - Функции для записи других установок в системный реестр (используйте с осторожностью). - Добавлена функция, для отображения сообщений об ошибках (записывает их в журнал). Автор : 2001 - 2002 Mark Overmars Перевод: 2001 - 2002 Igor Kniazev (Simple Life & World)