CanPHP框架技术讨论

导航

 

当Group旋转或缩放时,它的孩子们正常绘制,并且Batch变换后正确的旋转或缩放。

 

绘制Group前,Batch flush使得变换可以设置。有很多Group时这将可能成为性能瓶颈。如果在一组演员不旋转或缩放,然后settransform(false)可用于Group。当这样做,每个孩子的位置基于Group的位置进行绘制,使孩子们出现在正确的位置,即使没有转换

Group继承自Actor,是2D场景绘制的节点,包含了很多其他演员;

每个演员都有一个 z-order 等于他们插入到Group中的顺序,后插入的会绘制在先插入的上面。

触摸事件优先分发到顶层的演员上面。

常用方法说明:

void addActor(Actor actor)

把actor作为子元素加入到组中。

void addActorAt(int index, Actor actor)

把actor作为子元素加入到组中。

固定在某个层级上面。如果index超过了子数组大小,actor会插入到最上层。

setTransform(Boolean tansform)

默认true,代表Group中子元素有旋转,缩放操作。

Group在绘制前会先进行applyTransform然后resetTransform两次操作都会进行Batch的flush().这里会有性能瓶颈问题。如果子元素完全没有旋转缩放操作,可以设置setTransform(false).

继承自Group的类有 WidgetGroup 。

posted on 2015-09-16 11:33  創丗仼  阅读(302)  评论(0编辑  收藏  举报