Valentine's blog flash platform

31Июль/090

TODO list

todo-list

Как я уже говорил, генератор будет функционально разделен на две части: это статическая (пассивная) часть (дороги, знаки) и динамическая (активная: машины, велосипедисты пешеходы)

В данный момент прорабатывается пассивная часть и,  соответственно все усилия направлены на неё.

Весь интерфейс генерится динамически из базы.

Сейчас мы имеем возможность добавлять / рисовать кривые / прямые, которые будут в дальнейшем позвоночником дороги.

Итак,  при переходе в режим редактирования дороги у нас доступны соответствующие инструменты и шаблоны сегментов дорог.

Рассмотрим доступные инструменты (слева направо): рисование по точкам, название участка дороги, тип участка дороги.

1) рисование по точкам.

По дефолту с первого клика по рабочей области (Холст) добавляет последовательно точки кривой. Доступно три типа: прямая, безье и эрмит.

2)3) не работают.

А вот и лист:

1) сделать селектбокс с именами дорог (инструмент 2). По дефолту будут генерироваться шаблонные имена, к рипмеру Road 1, Road 2 и т.д. Селектбокс соответственно редактируемый, т.е. мы можем менять имя созданной нами дороги. При выборе в селектбоксе нужной дороги она соответственно подсвечивается на холсте.

2) сделать селектбокс с типом дороги (1 из 3х, см.выше). сейчас только эрмит. организовать переключение.

3) при активном инструменте 1 (точка) и зажатой клавише Shift + клик по холсту = начинать рисование новой дороги, т.е. новая точка уже не связана с предыдущей кривой (если мы ее нарисовали), а рисуется новая кривая. Получается чтобы начать новый участок дороги нужно поставить новую точку через Shift и продолжить рисование уже без него.

4) при активном инструменте 1 (точка) и зажатой клавише Ctrl + клик по существующей точке = убрать точку. Соответственно кривая перерисовывается после этого.

5) Проработать холст (поворот, масштабирование, сворачивание)

6) Продумать механизм переключение между режимами (от дороги к автомобиоям, к знакам и т.д.)

7) Продумать событийную модель, особенно это касается событий клавы, горячие клавиши в дальнейшем будут очень кстати.

Реализация первых 4 пунктов даст уже некоторое представление о том, куда дальше двигаться, а двигаться можно вот куда (последовательно):

- на основе скелета дороги рисовать полосы (вдоль кривой-позвоночника), соответственно для каждой кривой будет доступен набор свойств, таких как количество полос, ширина полосы (это уже скорее всего относится к глобальным свойствам проекта, лучше туда его и отправить), покрытие.

- объединение и расчленение дорог (перекрестки). это пожалуй самое сложное. существуют множество различных пересечений дорог, всё это придётся учитывать. Но всего конечно не учтешь, поэтому будут ограничения.

Заглядывать дальше пока опасаюсь. Время покажет :)

Связано с категорией: генератор ДТП Оставить комментарий