О, нормалёк! Спасибо, это расширяет понимание работы меню.
Вид для печати
О, нормалёк! Спасибо, это расширяет понимание работы меню.
Так и не понял - работает ли функция импорта графики в редактор? Пробовал через опцию "Iso Converter" -> "Search Resource Files" вставлять графику, но она не появляется в редакторе карт. Там даже уже изначально предлагают деревянную текстуру импортировать, так и она не появляется в редакторе. Причём логика понятна - вначале файл надо положить в папку "Import", а потом уже она появляется в папке "output", откуда её нето надо в соответствующую поддиректорию перенести, нето на месте оставить, короче - ни одно из этих действий не даёт результата. В редакторе так и остаётся только первоначальный набор графики. Кто-нибудь знает, что с этим делать?
Edit: Всё, понял - Iso Converter нужен лишь для того, что-бы "изометризировать" текстуры, а уже вставлять их надо вручную, при этом назначая соответствующий номер. Только вот в "превью", где много тайлов, они не появляются - тоже вручную, видимо, надо вставлять.
Вот теперь теперь действительно сложный вопрос: как в игре определить Z-координату объекта? То есть, высоту, на которой он находится.
И так, благодаря товарищу Оттеру, удалось поговорить с разработчиком движка, и узнать следующее:
1. Что-бы установить, на какой высоте находится объект или игрок, нужно в командах эвентов задать условие (команда "Branch", или "Ветвление условий" в переводе), что-бы шла реакция на определённый скрипт: для героя это будет "$game_player.real_h", а для объекта "$game_map.events[evt_id].real_h", где вместо "evt_id" надо вставить порядковый номер эвента (это который в самом верху указан)
Работает по такому принципу:
>Ветвление условий: скрипт ~~ $game_map.events[001].real_h == 0
>Какая-нибудь реакция
>
: КОНЕЦ
>
Таким образом, в данном случае реакция происходит, если искомый объект (здесь это эвент 001) обнаруживается в самом низу. Для того, что-бы найти его на уровне первой ступеньки, нужно уже условие "$game_map.events[001].real_h == 16", на уровне второй - "$game_map.events[001].real_h == 32", ну и далее по такому-же принципу.
2. Так-же, автор рассказал, как сделать неподвижный экран во время игры. Для этого нужен этот скрипт:
Который вставляется в базу скриптов, и что-бы зафиксировать камеру в игре, нужно включить соответствующий свитч - в данном случае это свитч под номером 20, но можно назначить любой другой номер, отредактировав строчку "NO_SCROLL_SWITCH_ID = 20".PHP код:
#==============================================================================
# ** Configuration
#==============================================================================
NO_SCROLL_SWITCH_ID = 20
#==============================================================================
# ** Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# * Aliased methods
#--------------------------------------------------------------------------
unless @already_initialized_mgc_iso_scroll
alias scrolling_mgc_iso_scroll? scrolling?
@already_initialized_mgc_iso_scroll = true
end
#--------------------------------------------------------------------------
# * Determine if Scrolling
#--------------------------------------------------------------------------
def scrolling?
return scrolling_mgc_iso_scroll? || $game_switches[NO_SCROLL_SWITCH_ID]
end
end
Данный способ работает только в MGC ISO Engine. В целом, всё вышеописанное актуально для версии под XP мэйкер, версию под VX пока ещё не проверял.
Надеюсь, это кому-нибудь пригодится. =)
Выяснилось нечто поистине катастрофическое - оказывается, движок не поддерживает сохранение игры! Если сохраниться, а потом попытаться загрузить сэйвслот, игра вылетает с ошибкой:
Или, если закрыть игру, и открыть снова, то при попытке загрузки сэйва, выдаёт это:Цитата:
Script'---- NEW CLASSES ----' line 1667: ArgumentError occurred.
wrong number of argument(3 for 0)
Цитата:
Script'---- MODIFIED CLASSES ----' line 889: NameError occurred.
uninitialized constant Game_Character::Isometric_Utils
Баг присутствует как в текущем проекте, так и в свежераспакованной демке движка. Точно так-же вылетает демка под VX.
Проблему мог бы прояснить автор, но к сожалению, его в последнее время что-то не видно, и на посты на сайте он перестал отвечать. Может, кто-нибудь подскажет - что это за ошибка, и можно ли её исправить?
И так! С радостью сообщаю, что проблема с сохранениями наконец-то решена! Качаем версию 1.3, где автор пофиксил этот баг.
Так-же, в обновлённой версии добавлены важные корректировки. Во первых, исправлена недоработка движка, из-за которой карты загружались не полностью, и что-бы загрузить всё, что есть на карте, приходилось обойти её целиком. Теперь с этим всё в порядке - карта загружается сразу вся, и остаётся в таковом виде не зависимо от заходов/выходов в меню и битву. В общем, работает как полагается! Вторая, и тоже очень важная корректировка, касается скорости движения камеры в игре. Раньше она была одна и та-же, с какой-бы скоростью не двигался герой (из-за чего можно было вылететь за пределы экрана, если скорость выше 4-й). Теперь же скорость можно назначать через строчку скрипта. Правда, только в пределах 6-ти стандартных мэйкерских скоростей. Делается это так:
Таким образом назначается самая высокая, 6-я скорость. С остальными логика такая-же.Цитата:
$game_map.scroll_speed = 6