Использование papervision для создания 3D-игры

Теперь мне нужно добавить полосу здоровья и таймер обратного отсчета на экран.

как я это сделаю? добавить самолет в 3D-сцену? полоса здоровья всегда находится в правом верхнем углу экрана. в любом случае НЕ использовать 3D-концепцию для реализации этого. я имею в виду, что я мог бы сделать это с самолетом, постоянно меняя его текстуру, чтобы показать статус персонажа. есть ли более чистый способ сделать это?

заранее спасибо!


person Yang    schedule 22.10.2010    source источник


Ответы (1)


Я не понимаю, почему у вас должны возникнуть проблемы с простым добавлением элементов пользовательского интерфейса в корень списка отображения. Я не верю, что papervision полностью контролирует дисплей, IIRC выглядит так:

        [put your text fields, health bars etc. here]   A (higher)
       /                                                |
ROOT -                                                z-depth
       \                                                |
        PV3D context                                    V (lower)

Потому что очевидно, что у корня может быть сколько угодно дочерних объектов DisplayObject, помимо собственного контейнера PV3D. Итак, после кода, в котором вы настраиваете PV3d, и он добавляется на дисплей, просто добавьте новый DisplayObject, содержащий вашу полосу здоровья. Затем поменяйте местами их индексы глубины, чтобы ваш UI DisplayObject отображался перед объектом PV3D.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Это все по памяти, прошел год с тех пор, как я в последний раз использовал старую добрую AS3.

person Engineer    schedule 25.10.2010