Отправлено: 07.07.07 12:01. Заголовок: Квесты от первого лица
Чтобы создать квест от первого лица в скрипте сцены появление актёра нужно прописать: actor.Active = false; а остальное всё тожесамое просто на экране не будет МОЛЛИ :)
Сообщение: 7
Зарегистрирован: 22.09.08
Откуда: Ленинград
Репутация:
0
Отправлено: 08.11.08 00:46. Заголовок: а в свою очередь как..
а в свою очередь как перенести окошко Caption, что над персонажем (ну скажем в низ экрана), чтобы при отключении видимости персонажа, не пропадала и функция Actor.Talk?
Отправлено: 08.11.08 01:51. Заголовок: Чтобы сделать квест ..
Чтобы сделать квест от первого лица актера вообще не нужно загружать в игру
Теперь о .Talk() Поскольку актера в игре нет, можно создать новый метод Talk() например в скрипте game.script. поскольку этот скрипт приаттачен к объекту Game, вызываться он будет Game.Talk();
Также нужно создать новое окно, содержащее элемент Static control Новый метод Talk должен открывать это окно, получать дескриптор элемента Static control и записывать в ресурс Text этого элемента нужную реплику (которая передается через параметры метода)
Выглядит это примерно так:
method Talk(replika) { var WinDialog = Game.LoadWindow("Путь к файлу окна"); var vOkno = WinDialog.GetControl("имя элемента Static control"); vOkno.Text = replika; код, реализовывающий паузу в игре на время, достаточное для прочтения текста Game.UnloadObject(WinDialog); }
Отправлено: 08.11.08 12:00. Заголовок: Пойдет но не всегда,..
Пойдет но не всегда, поскольку пока выполняется sleep сцена продолжает быть интерактивной. Нужно перед sleep делать Game.Interactive = false, а после sleep - Game.Interactive = true; К тому же величину задержки нужно изменять, исходя из длины выводимого сообщения, иначе, если задержка будет постоянной, то короткие реплики будут неоправдано долго висеть на экране, а длинные не успеешь прочитать. Если реплики не только выводятся на экран, а еще и озвучиваются, то реплика должна быть на экране, пока проигрывается звуковой файл. Это тоже должно быть реализовано в коде задержки
интерактивность выключается как отдельный вариант, т.к. нужно это преимущественно в роликах с субтитрами. а в качестве замены стандартного диалога нпс - интерактивность должна сохраняться, для быстрого переключения между объектами. да и для регулировки времени можно имхо, как и указывать дополнительные параметры во время вызова Game.Talk, так и написать несколько вариантов самой процедуры, с различной продолжительностью (хотя это мусорный вариант) в общем спасибо!
Все даты в формате GMT
3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет