Цитата:
Сообщение от AlexDesinger
вот мне интересно, вы не могли бы хотя бы в общих чертах рассказать каким способом вы разработали простенький 3d движок, а я в замен расскажу вам какой слушатель отвечает за вашу проблему?
|
Главное направление моего движка не скорость и графика, а удобство использования, поэтому:
1) Ось z направлена вертикально вверх, x - вглубь экрана, y - справо налево.
Да, не очень по стандартному.
2) Отображение графики идёт как в AS 3.0, то есть создаём контейнер, в него можем добавить другой контейнер, в него парочку треугольников, а во время present() все добавленные в иерархию фигуры отображаются с учётом преобразований родительских контейнеров.
3) Писал без матриц, руководствуясь собственным воображением.
Что бы повернуть объект вокруг оси z, устанавливаем контейнеру нужное значение horizontalRotation, для дополнительного поворота - verticalRotation.
4) Добавил объект четырёхугольник.
Но к сожалению, из-за низкой скорости работы ActionScript 3.0 с массивами, мне не удалось организовать z-буфер: при наличии на сцене 6 треугольников(полукуб(1 треугольник на сторону)) сцена жутко тормозила, поэтому я использовал алгоритм художника.
Мне кстати понравился способ с зажиманием мыши. И встречный вопрос перемещать мышь Flash Playerом нельзя, а Adobe AIRом? Можно ли как-нибудь отловить нажатие клавиш джойстика(вида, как у PS), хотя бы в AIRе.