[]对staticCache的疑问

假设我给对象A设置staticCache为true(定义此时的A为状态a),那么是不是只要不调用reCache方法或者设置staticCache为false,A就永远只是数据层变化,而呈现出来的永远是状态a
已邀请:

ymsdandan

赞同来自:

staticcache是指是否静态缓存此对象的当前帧的最终属性。为 true 时,子对象变化时不会自动更新缓存,但是可以通过调用 reCache 方法手动刷新。还有就是设置 cacheAs 为非空和非"none"时才有效。由于渲染的时机在脚本执行之后,也就是说当前帧渲染的是对象的最终属性,所以如果在当前帧渲染之前、设置静态缓存之后改变对象属性,则最终渲染结果表现的是对象的最终属性。不知道这个解释能否解决您的问题呢
 

hujian0318

赞同来自:

var sp:Sprite = new Sprite();
sp.graphics.drawRect(0, 0, 100, 100, "#ffff00");
Laya.stage.addChild(sp);
sp.x = 50;
trace(sp.x); // 输出50
sp.cacheAs = "bitmap";
sp.staticCache = true;
sp.x = 100;
trace(sp.x); // 输出100,且编译出来的效果也是在这个位置,说明staticCache = true无效

 

要回复问题请先

商务合作
商务合作