我正在移植as3iso以用于我的抽象显示列表,但我看不出作者决定使用辅助显示列表(节点层次结构)的原因。除了能够获得显示对象的子数组之外,我想不出这有什么必要。(i in 0…numChildren)getChildAt与获取children数组真的有那么大的性能冲击吗?这也可以通过在重写时维护子数组来减轻。
唯一的其他原因是flash.display.DisplayObject的一些属性是最终的,并且希望x和y与isoX/isoY相关,但worldX/worldY是一个合理的API。
我对次要显示列表没有问题,但我看不出这一点,我倾向于让我的iso显示对象从我的DisplayObject扩展。
此外,我曾假设,在Flash和渲染中,将不在屏幕上或scrollRect之外的对象标记为visible=false是不必要的,因为这是/应该在渲染器级别处理?闪存软件渲染器就是这样吗?
对于最后一个问题,设置visible=false
很有用,因为这样渲染器可以快速跳过此对象,而不必计算它是否在屏幕矩形内。
这样库就不依赖于渲染系统。您可以使用传统的闪存显示列表、Stage3D或自定义解决方案。