2010-02-18 7 views

Répondre

0

Je n'ai pas tout à fait comprendre que vous pB, mais return vous variable du function et le transmettre comme parameter à l'autre function.

function foo():String { 
var tmp:String="hello"; 
//... 
return tmp; 
} 

function bar(value:String):void{ 
//... 
trace(value); // will trace "hello" 
} 

var str:String=foo(); 
bar(str); 

// or 

bar(foo()); 
+0

salut patrick, j'ai posté le programme détaillé, S'il vous plaît passer et suggérer: Question: Faire un glossaire personnalisé Mots-clefs: flash, flex – mukherjeerimi

+0

Ajouté une réponse à votre question précédente – Patrick

0

Si vous devez utiliser une variable définie dans le corps d'une fonction dans une autre fonction, vous pouvez retourner la valeur que vous êtes après de la première fonction.

Voici un exemple qui parcourt un tableau fourni et renvoie l'index du premier numéro correspondant (find).

function iterate(find:uint, values:Array):int 
{ 
    var i:uint = 0; 
    for(i; i<values.length; i++) 
    { 
     if(values[i] == find) return i; 
    } 

    return -1; 
} 

function doThings():void 
{ 
    var iterations:int = iterate(10, [5, 2, 5, 6, 10, 17, 4]); 
    trace(iterations); // output: 4 
} 

doThings(); 

Si vous avez besoin de plusieurs valeurs, alors vous pouvez le stocker dans un objet ou un tableau et retourner que:

function getpos():Object 
{ 
    var obj:Object = 
    { 
     x: stage.mouseX, 
     y: stage.mouseY, 
     side: mouseX < stage.stageWidth/2 ? "left" : "right" 
    }; 

    return obj; 
} 


stage.addEventListener(MouseEvent.CLICK, _click); 
function _click(e:MouseEvent):void 
{ 
    trace(getpos().side, getpos().x, getpos().y); 
} 
Questions connexes