Автор: Серёжа
Итак, для начала немного про движок. Хорош он тем, что в нём:
Итак, для начала немного про движок. Хорош он тем, что в нём:
- Прописаны основные функции для игр жанра point-and-click (типа, GoTo(x,y) для персонажа)
- Простенький скриптовый язык, похожий издалека на javascript
- На официальном форуме сидят люди, готовые помочь =)
- Создатель игры (прости, Мнемоник!) рассчитывал, видимо, что в играх подобного жанра надо только ходить, брать и вставлять. Шаг влево, шаг вправо делается с очень большим трудом из-за ограниченности движка. Например, написание любой головоломки становится не менее увлекательной головоломкой для самого программиста.
- Большая нагрузка на художника. Каждый "фьюк" надо рисовать отдельно, заново. Зато прекрасная практика для Мариночки =)
- Задний план (едет медленно, перемещение очень незначительно)
- Основной слой (его скорость определяет все остальные)
- Надпись (она неподвижна, т.е. будет ехать со скоростью камеры)
Всё хорошо и здорово, но вот беда, у объекта "layer" нету функции Scroll, да и вообще ни одной функции перемещения. Более того, средствами GUI никак нельзя прицепить к нему скрипт с новым методом. Выхода, как водится, два:
- Уныло. Сделать надпись временно невидимой, чтобы потом она появилась в нужном месте. Остальное, теоретически, должно уметь ездить средствами движка. Однако выглядит это весьма криво и никак нельзя настроить скорость перемещения отдельного слоя. Вообще, процесс этот неконтролируемый и никаких других значений, кроме конечных координат сцены задать нельзя. Уныло.
- Грамотно. Написать этот метод самому. Сначала думал, что этот вариант отпадает, потому что нельзя прицепить к layer'у скрипт, но я ошибался.
<имя_слоя>.AttachScript("<пусть_к_скрипту>"); // проблема решена
Новый метод позволит полностью контролировать весь процесс и всё это можно будет использовать в дальнейшем, скажем, для головоломок. Грамотно? Грамотно.
- Определить количество Node на слое.
- Определить расстояние, которое каждому предстоит пройти
- Разбить его на отрезки, которые должен проходит Node за одну миллисекунду
- Начать его передвигать......
- ...и закончить его передвигать.
Комментариев нет:
Отправить комментарий