2014-02-15 3 views
0

В последнее время я использую haxe и openfl для (попытки) сделать игры, я исхожу из предыдущих знаний с XNA, где при рисовании с помощью spritebatch вы можете указать глубину рисования изображение, независимо от того, когда вы на самом деле называете функцию рисования. начиная с openfl, я заметил, что рисование в bitmapdata в качестве буфера предоставило мне аналогичный способ рисовать как spritebatch, но у него нет параметра глубины.Рисование с глубиной до растрового изображения

Вопрос в том, знает ли кто-нибудь о хорошем способе обработки призывов к обращению, чтобы указать глубину рисования?

ответ

0

Глубинный буфер не включен в openfl, поэтому вам нужно отступить к другому пути визуализации (то есть к двигателю).

В противном случае вы можете исправить openfl, чтобы получить буфер глубины и реализовать z-test, но для этого требуется много знаний.

+0

Я использовал массив объектов «DrawCall» для сортировки по глубине (я использовал строковый идентификатор для изображения , чтобы сохранить память), а затем прокручивая массив, чтобы рисовать по экрану, но если я нарисовал более 10 спрайтов, он полностью заперт, что никак нельзя использовать – Nico

0

Вы можете установить глубину, создав новую растровую карту для каждой необходимой глубины, затем вы можете изменить глубину каждого созданного растрового изображения.

Это обрабатывается в openfl, но вы также можете увидеть, как haxeflixel обрабатывает глубину созданных элементов ..

+0

. Это не так, только если вы используя список отображения? – Nico

+0

Да, если вы не используете displaylist, вам придется очищать буфер каждый раз при изменении логической глубины и снова рисовать все элементы. – simo

Смежные вопросы