hi there,
hab ne mgl. gebraucht alle inputs und events für Mc zu protecten und das in einem abwasch und dabei ist eine simple kleine AccessControl class entstanden nix dolles aber wer es mal brauchen kann oder erweiten will
PHP-Code:
class de.gengon.utils.AccessControl{
static private var _allEvents:Array=["onPress", "onRelease", "onReleaseOutside", "onMouseMove", "onMouseDown", "onMouseUp", "onDragOut", "onDragOver", "onKeyDown", "onKeyUp", "onKillFocus", "onSetFocus", "onRollOver", "onRollOut", "onEnterFrame", "onLoad", "onUnload", "onData"];
static private var _inputEvents:Array=["onPress", "onRelease", "onReleaseOutside", "onMouseMove", "onMouseDown", "onMouseUp", "onDragOut", "onDragOver", "onKeyDown", "onKeyUp", "onKillFocus", "onSetFocus", "onRollOver", "onRollOut"];
/*
* @method AccessControl (Constructor)
* @return Void
* @access private
* @desc the constructor should be empty for shure
* only private access
*/
private function AccessControl(){
}
/*
*
* @TODO easy to use string operation instead of number for pPermission and pFlag
* like
* read_write_visible
* read_write_
* read_visible
* etc.
*
*/
static public function setPermissions(pObject, pProps:Array, pPermision:Number, pFlag:Number):Void{
_global.ASSetPropFlags(pObject, pProps, pPermision, pFlag);
}
static public function protectInputEvents(pMc:MovieClip, pFlag:Boolean){
if(pFlag==true){
for(var i:Number=0; i<AccessControl._inputEvents.length; i++) pMc[AccessControl._inputEvents[i]]=null;
pMc.__protectedInputEvents__=true;
AccessControl.setPermissions(pMc, ["__protectedInputEvents__"], 7);
}
AccessControl.setPermissions(pMc, AccessControl._inputEvents, 6);
}
static public function deprotectInputEvents(pMc:MovieClip){
AccessControl.setPermissions(pMc, AccessControl._inputEvents, 8, 6);
if(pMc.__protectedEvents__==true){
AccessControl.setPermissions(pMc, ["__protectedInputEvents__"], 8, 7);
delete pMc.__protectedInputEvents__;
for(var i=0; i<AccessControl._inputEvents.length; i++) delete pMc[AccessControl._inputEvents[i]];
}
}
static public function protectEvents(pMc:MovieClip, pFlag:Boolean) {
trace(AccessControl._allEvents);
if (pFlag == true) {
for(var i:Number=0; i<AccessControl._allEvents.length; i++) pMc[AccessControl._allEvents[i]]=null;
pMc.__protectedEvents__=true;
AccessControl.setPermissions(pMc, ["__protectedEvents__"], 7);
}
AccessControl.setPermissions(pMc, AccessControl._allEvents, 6);
}
static public function deprotectEvents(pMc:MovieClip) {
AccessControl.setPermissions(pMc, AccessControl._allEvents, 8, 6);
if(pMc.__protectedEvents__==true){
AccessControl.setPermissions(pMc, ["__protectedEvents__"], 8, 7);
delete pMc.__protectedEvents__;
for(var i=0; i<AccessControl._allEvents.length; i++) delete pMc[AccessControl._allEvents[i]];
}
}
}
und wenn kritik immer raus damit (aber nur qualifizierte

)