2012-02-22 55 views
0

如何组合以下函数并仍然将不同的字符串传递给buildUI();函数?使用MovieClip目标名称将变量传递到函数

我有两个函数只在最后他们都调用一个函数并传递一个字符串值给函数做同样的事情。这个字符串值是唯一不同的。

下面是我的事件监听器和功能像现在这样:

female_start.addEventListener(MouseEvent.MOUSE_DOWN, startFemale); 
    male_start.addEventListener(MouseEvent.MOUSE_DOWN, startMale); 


//FUNCTIONS THAT DO THE SAME THING AND BOTH CALL buildUI BUT PASS A DIFFERENT STRING. 
function startMale(event:MouseEvent):void 
     { 

      female_start.removeEventListener(MouseEvent.MOUSE_DOWN, startFemale); 
      male_start.removeEventListener(MouseEvent.MOUSE_DOWN, startMale); 
      var removeMale = new Tween(male_start, "x", Strong.easeInOut, 540,1080, 2, true); 
      var removeFemale = new Tween(female_start, "x", Strong.easeInOut, 0,-540, 2, true); 
//THIS IS THE ONLY DIFFERENCE BETWEEN THE TWO FUNCTIONS 
      buildUI("Male"); 
    } 


function startFemale(event:MouseEvent):void 
      { 

      female_start.removeEventListener(MouseEvent.MOUSE_DOWN, startFemale); 
      male_start.removeEventListener(MouseEvent.MOUSE_DOWN, startMale); 
      var removeMale = new Tween(male_start, "x", Strong.easeInOut, 540,1080, 2, true); 
      var removeFemale = new Tween(female_start, "x", Strong.easeInOut, 0,-540, 2, true); 
//THIS IS THE ONLY DIFFERENCE BETWEEN THE TWO FUNCTIONS 
      buildUI("Female"); 
    } 

回答

1
female_start.addEventListener(MouseEvent.MOUSE_DOWN, function(e){start(e, "female");}); 
male_start.addEventListener(MouseEvent.MOUSE_DOWN, function(e){start(e, "male");}); 
function start(event:MouseEvent, sex:String):void{ 
    //do all the stuff 
    buidUI(sex); 
}
相关问题