📄 depthmanager.as
字号:
class mx.managers.DepthManager
{
var _childCounter, createClassObject, createObject, _parent, swapDepths, _topmost, getDepth;
function DepthManager()
{
MovieClip.prototype.createClassChildAtDepth = createClassChildAtDepth;
MovieClip.prototype.createChildAtDepth = createChildAtDepth;
MovieClip.prototype.setDepthTo = setDepthTo;
MovieClip.prototype.setDepthAbove = setDepthAbove;
MovieClip.prototype.setDepthBelow = setDepthBelow;
MovieClip.prototype.findNextAvailableDepth = findNextAvailableDepth;
MovieClip.prototype.shuffleDepths = shuffleDepths;
MovieClip.prototype.getDepthByFlag = getDepthByFlag;
MovieClip.prototype.buildDepthTable = buildDepthTable;
_global.ASSetPropFlags(MovieClip.prototype, "createClassChildAtDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "createChildAtDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthTo", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthAbove", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthBelow", 1);
_global.ASSetPropFlags(MovieClip.prototype, "findNextAvailableDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "shuffleDepths", 1);
_global.ASSetPropFlags(MovieClip.prototype, "getDepthByFlag", 1);
_global.ASSetPropFlags(MovieClip.prototype, "buildDepthTable", 1);
} // End of the function
static function sortFunction(a, b)
{
if (a.getDepth() > b.getDepth())
{
return (1);
} // end if
return (-1);
} // End of the function
static function test(depth)
{
if (depth == mx.managers.DepthManager.reservedDepth)
{
return (false);
}
else
{
return (true);
} // end else if
} // End of the function
static function createClassObjectAtDepth(className, depthSpace, initObj)
{
var _loc1;
switch (depthSpace)
{
case mx.managers.DepthManager.kCursor:
{
_loc1 = mx.managers.DepthManager.holder.createClassChildAtDepth(className, mx.managers.DepthManager.kTopmost, initObj);
break;
}
case mx.managers.DepthManager.kTooltip:
{
_loc1 = mx.managers.DepthManager.holder.createClassChildAtDepth(className, mx.managers.DepthManager.kTop, initObj);
break;
}
default:
{
break;
}
} // End of switch
return (_loc1);
} // End of the function
static function createObjectAtDepth(linkageName, depthSpace, initObj)
{
var _loc1;
switch (depthSpace)
{
case mx.managers.DepthManager.kCursor:
{
_loc1 = mx.managers.DepthManager.holder.createChildAtDepth(linkageName, mx.managers.DepthManager.kTopmost, initObj);
break;
}
case mx.managers.DepthManager.kTooltip:
{
_loc1 = mx.managers.DepthManager.holder.createChildAtDepth(linkageName, mx.managers.DepthManager.kTop, initObj);
break;
}
default:
{
break;
}
} // End of switch
return (_loc1);
} // End of the function
function createClassChildAtDepth(className, depthFlag, initObj)
{
if (_childCounter == undefined)
{
_childCounter = 0;
} // end if
var _loc3 = this.buildDepthTable();
var _loc2 = this.getDepthByFlag(depthFlag, _loc3);
var _loc6 = "down";
if (depthFlag == mx.managers.DepthManager.kBottom)
{
_loc6 = "up";
} // end if
var _loc5;
if (_loc3[_loc2] != undefined)
{
_loc5 = _loc2;
_loc2 = this.findNextAvailableDepth(_loc2, _loc3, _loc6);
} // end if
var _loc4 = this.createClassObject(className, "depthChild" + _childCounter++, _loc2, initObj);
if (_loc5 != undefined)
{
_loc3[_loc2] = _loc4;
this.shuffleDepths(_loc4, _loc5, _loc3, _loc6);
} // end if
if (depthFlag == mx.managers.DepthManager.kTopmost)
{
_loc4._topmost = true;
} // end if
return (_loc4);
} // End of the function
function createChildAtDepth(linkageName, depthFlag, initObj)
{
if (_childCounter == undefined)
{
_childCounter = 0;
} // end if
var _loc3 = this.buildDepthTable();
var _loc2 = this.getDepthByFlag(depthFlag, _loc3);
var _loc6 = "down";
if (depthFlag == mx.managers.DepthManager.kBottom)
{
_loc6 = "up";
} // end if
var _loc5;
if (_loc3[_loc2] != undefined)
{
_loc5 = _loc2;
_loc2 = this.findNextAvailableDepth(_loc2, _loc3, _loc6);
} // end if
var _loc4 = this.createObject(linkageName, "depthChild" + _childCounter++, _loc2, initObj);
if (_loc5 != undefined)
{
_loc3[_loc2] = _loc4;
this.shuffleDepths(_loc4, _loc5, _loc3, _loc6);
} // end if
if (depthFlag == mx.managers.DepthManager.kTopmost)
{
_loc4._topmost = true;
} // end if
return (_loc4);
} // End of the function
function setDepthTo(depthFlag)
{
var _loc2 = _parent.buildDepthTable();
var _loc3 = _parent.getDepthByFlag(depthFlag, _loc2);
if (_loc2[_loc3] != undefined)
{
this.shuffleDepths(this, _loc3, _loc2, undefined);
}
else
{
this.swapDepths(_loc3);
} // end else if
if (depthFlag == mx.managers.DepthManager.kTopmost)
{
_topmost = true;
}
else
{
delete this._topmost;
} // end else if
} // End of the function
function setDepthAbove(targetInstance)
{
if (targetInstance._parent != _parent)
{
return;
} // end if
var _loc2 = targetInstance.getDepth() + 1;
var _loc3 = _parent.buildDepthTable();
if (_loc3[_loc2] != undefined && this.getDepth() < _loc2)
{
_loc2 = _loc2 - 1;
} // end if
if (_loc2 > mx.managers.DepthManager.highestDepth)
{
_loc2 = mx.managers.DepthManager.highestDepth;
} // end if
if (_loc2 == mx.managers.DepthManager.highestDepth)
{
_parent.shuffleDepths(this, _loc2, _loc3, "down");
}
else if (_loc3[_loc2] != undefined)
{
_parent.shuffleDepths(this, _loc2, _loc3, undefined);
}
else
{
this.swapDepths(_loc2);
} // end else if
} // End of the function
function setDepthBelow(targetInstance)
{
if (targetInstance._parent != _parent)
{
return;
} // end if
var _loc6 = targetInstance.getDepth() - 1;
var _loc3 = _parent.buildDepthTable();
if (_loc3[_loc6] != undefined && this.getDepth() > _loc6)
{
_loc6 = _loc6 + 1;
} // end if
var _loc4 = mx.managers.DepthManager.lowestDepth + mx.managers.DepthManager.numberOfAuthortimeLayers;
var _loc5;
for (var _loc5 in _loc3)
{
var _loc2 = _loc3[_loc5];
if (_loc2._parent != undefined)
{
_loc4 = Math.min(_loc4, _loc2.getDepth());
} // end if
} // end of for...in
if (_loc6 < _loc4)
{
_loc6 = _loc4;
} // end if
if (_loc6 == _loc4)
{
_parent.shuffleDepths(this, _loc6, _loc3, "up");
}
else if (_loc3[_loc6] != undefined)
{
_parent.shuffleDepths(this, _loc6, _loc3, undefined);
}
else
{
this.swapDepths(_loc6);
} // end else if
} // End of the function
function findNextAvailableDepth(targetDepth, depthTable, direction)
{
var _loc5 = mx.managers.DepthManager.lowestDepth + mx.managers.DepthManager.numberOfAuthortimeLayers;
if (targetDepth < _loc5)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -