想实现一个类似遮罩效果,一个大图只显示“窗口”内其中一小块,然后大图可以“移动”令窗口的内容变化。
用spriteFrame.setRect发现居然只有第一次使用有效,多次调用则后续无效,完全无法做动画。
当然,如果每帧都clone一个新的spriteframe,再setRect的话是可以的,但那样就产生一大堆spriteframe的内存垃圾了吧。
有没有常规一点的实现方案。
(遮罩当然也能实现,但因为这样的node不少,所以暂时不考虑用遮罩,不然dc挺高的)
想实现一个类似遮罩效果,一个大图只显示“窗口”内其中一小块,然后大图可以“移动”令窗口的内容变化。
用spriteFrame.setRect发现居然只有第一次使用有效,多次调用则后续无效,完全无法做动画。
当然,如果每帧都clone一个新的spriteframe,再setRect的话是可以的,但那样就产生一大堆spriteframe的内存垃圾了吧。
有没有常规一点的实现方案。
(遮罩当然也能实现,但因为这样的node不少,所以暂时不考虑用遮罩,不然dc挺高的)
有引擎组回答一下吗? 
用mask组件就行, mask作为父节点,子节点就是那个大图, 移动的话,就移动子节点就行
我试了也是没办法,求高手解惑
可以写个遮罩shader,自己传坐标和大小尺寸去控制
不管性能的话我知道遮罩和rect都肯定行,很简单。
坐等高手更优方案~ 
找到合理的方法了,今天有空翻了一下源码
遇事不决,看看源码,永恒的真理 