添加动态修改功能

This commit is contained in:
lujun
2023-02-08 10:43:36 +08:00
parent 3d26effa41
commit 70c4e8da16
4 changed files with 54 additions and 30 deletions

View File

@@ -67,7 +67,7 @@ UI.prototype.flushRendererCache = function(){
}
// console.log(`flushRendererCache ${rendererCache.length}`);
for(let render of rendererCache){
// console.log(`${render.node.name} render hash ${render.renderData.dataHash}`);
// console.log(`${render.node.name} render hash ${render.renderPriority}`);
render.fillBuffers(this);
if(render.renderOpacity >= 0){
updateOpacity(render.renderData, render.renderOpacity);

View File

@@ -12,13 +12,37 @@ export class SortingGroup extends Component {
* 排序层
*/
@type(Enum(SortingLayer))
sortingLayer:SortingLayer = SortingLayer.DEFAULT;
private _sortingLayer:SortingLayer = SortingLayer.DEFAULT;
/**
* 排序层
*/
@type(Enum(SortingLayer))
get sortingLayer(){
return this._sortingLayer;
}
set sortingLayer(value:SortingLayer){
this._sortingLayer = value;
this._uiTransform.sortingPriority = Math.sign(this._sortingLayer) * (Math.abs(this._sortingLayer) * ORDER_IN_LAYER_MAX + this._orderInLayer);
}
/**
* 排序值
*/
@property({ type:CCFloat, min: 0, max : ORDER_IN_LAYER_MAX })
private _orderInLayer:number = 0;
/**
* 排序值
*/
@property({ type:CCFloat, min: 0, max : ORDER_IN_LAYER_MAX })
orderInLayer:number = 0;
get orderInLayer(){
return this._orderInLayer;
}
set orderInLayer(value:number){
this._orderInLayer = value;
this._uiTransform.sortingPriority = Math.sign(this._sortingLayer) * (Math.abs(this._sortingLayer) * ORDER_IN_LAYER_MAX + this._orderInLayer);
}
private _uiTransform:UITransform = null;
@@ -27,7 +51,7 @@ export class SortingGroup extends Component {
}
onEnable(){
this._uiTransform.sortingPriority = Math.sign(this.sortingLayer) * (Math.abs(this.sortingLayer) * ORDER_IN_LAYER_MAX + this.orderInLayer);
this._uiTransform.sortingPriority = Math.sign(this._sortingLayer) * (Math.abs(this._sortingLayer) * ORDER_IN_LAYER_MAX + this._orderInLayer);
this._uiTransform.sortingEnabled = true;
}