DisplayObject.prototype.$setVisible = function (value) {
var self = this;
if (self.$visible == value) {
return;
}
self.$visible = value;
if (egret.nativeRender) {
self.$nativeDisplayObject.setVisible(value);
}
else {
self.$updateRenderMode();
var p = self.$parent;
if (p && !p.$cacheDirty) {
p.$cacheDirty = true;
p.$cacheDirtyUp();
}
var maskedObject = self.$maskedObject;
if (maskedObject && !maskedObject.$cacheDirty) {
maskedObject.$cacheDirty = true;
maskedObject.$cacheDirtyUp();
}
}
};
本文深入探讨了DisplayObject原型中$setVisible方法的实现细节,该方法用于更新对象的可见状态,并触发渲染模式的更新。文章详细解释了如何在设置新可见性值时避免不必要的渲染操作,以及如何在原生和非原生渲染环境下正确处理可见性变化。
3704

被折叠的 条评论
为什么被折叠?



