Cocos2d Spritesheet. Правда ли, что с помощью Spritesheets я не могу установить Z-порядок спрайтов?

Я читал на некоторых форумах, которые используют Spritesheets в Cocos2d. Я не могу установить Z-порядок спрайтов, принадлежащих к тому же Spritesheet. Это правда?

1 ответ

Нет, это неправильно и неточно. Сприншет - это атлас текстуры, вы можете делать все с помощью спрайтов, созданных из атласа текстуры.

Если вы используете CCSpriteBatchNode, вы можете использовать zOrder для всех спрайтов, добавленных в один и тот же узел, но несколько узлов пакета и их соответствующие спрайты для детей сортируются на основе порядка пакетного узла и их zOrder. Поэтому, если batchnode A вычерчен за batchnode B, то ни один из B-детей не может быть zOrder отсортирован позади любого из спрайтов батнотда A.

Однако даже тогда вы можете свободно размещать спаренные спрайты z-order с несколькими узлами пакета, позволяя буферизацию глубины и используя свойство vertexZ, которое является "истинным" значением глубины OpenGL. Это немного медленнее и потребляет больше памяти.

licensed under cc by-sa 3.0 with attribution.