Mehrere Parameter übergeben
11.03.10, 09:51
Möchte man einer Funktion mehrere Parameter übergeben, die von Haus aus weniger erwartet, so muss man folgender maßen vorgehen.
Zunächst benötigen wir eine funtion, die wir create nennen, die eine variable Anzhal an Parametern annehmen kann.
public static function create(method:Function, ... args):Function {
return function(event:Event):void{
method.apply(null, [event].concat(args));
Nun könnte man dies benutzen, um einem Event mehrere Parameter zu Übergeben, als nur das eigene Event.
Normale Implementation sieht so aus:
mc.addEventListener(MouseEvent.CLICK,mouseClick);
function mouseClick(e:MouseEvent):void {
}
Durch die create Funktion können wir weitere Parameter übergeben.
mc.addEventListener(MouseEvent.CLICK,create(mouseClick,parameter,nocheinparameter));
function mouseClick(event:MouseEvent,param1:Typ,param2:AndererTyp):void {
}
Für ActionScript 2.0 gibt es etwas ähnliches unter http://www.flashdevelop.de/actionscript-2/delegater-klasse-mit-parametern.html
Ein ähnliches Beispiel gibt es bei http://troyworks.com/blog/2008/01/03/as3-functionapply/








