Версия 4.3a исправляет некоторые небольшие ошибки в программе (в основном в окне свойств объекта).
Версия 4.3b исправляет две ошибки: первая возникала при объединении игр, вторая при повторном создании постоянных образцов. Версия 4.3b также исправляет некоторые небольшие ошибки в программе (в основном в окне свойств объекта).
Основные изменения в GAME MAKER версии 4.3 в сравнении с версией 4.2
Определение События ~~~~~~~~~~~~~~~~~~~ Механизм определения событий в окне объекта был немного изменен. Отображается только список активных событий. Новые события могут быть добавлены нажатием кнопки. Это позволило добавить новые типы событий для нажимаемых и отпускаемых клавиш (см. ниже) и позволяет легче просмотреть какие события определены, а какие нет.
Дополнительные события клавиатуры и мыши ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Были добавлены дополнительные события клавиатуры и мыши, которые вызываются только когда нажата и отпущена определенная клавиша или кнопка мыши. Благодаря ним настройка генерации непрерывных событий клавиатуры становится не актуальной.
Объединяемые игры (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).
Функции для записи других установок в системный реестр (используйте с осторожностью).
Добавлена функция, для отображения сообщений об ошибках (записывает их в журнал).
Warning: require_once(/home/gmakerh/public_html/gmaker/8f521377200ec76d9ff24da16298bd26/sape.php) [function.require-once]: failed to open stream: No such file or directory in /home/gmakerh/public_html/gmaker/gm/changes43.html on line 201
Fatal error: require_once() [function.require]: Failed opening required '/home/gmakerh/public_html/gmaker/8f521377200ec76d9ff24da16298bd26/sape.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/gmakerh/public_html/gmaker/gm/changes43.html on line 201