Actionscript 3 AS3在函数中使用变量 函数displayQues():void { //------显示问题 对于(var i:uint=0;i

Actionscript 3 AS3在函数中使用变量 函数displayQues():void { //------显示问题 对于(var i:uint=0;i,actionscript-3,Actionscript 3,Er),您的问题很难理解,但我将尝试解决它 因为您没有在函数前面列出private或public,所以我假设您在actions窗口中执行所有操作,而没有actionscript类 您需要引用变量q。但是,对q的引用将丢失给其他函数和类,因为q仅在创建它的函数中可用 下面是我要做的;在函数块之外,键入这个 function displayQues():void { //------display question for (var i:uint=0; i<numQues; i

Er),您的问题很难理解,但我将尝试解决它

因为您没有在函数前面列出
private
public
,所以我假设您在actions窗口中执行所有操作,而没有actionscript类

您需要引用变量
q
。但是,对
q
的引用将丢失给其他函数和类,因为
q
仅在创建它的函数中可用

下面是我要做的;在函数块之外,键入这个

function displayQues():void
{
    //------display question
    for (var i:uint=0; i<numQues; i++)
    {
        q_list.push(i);
    }
    for (var j:uint=0; j<numQues; j++)
    {
        var q:Ans = new Ans();
        q.stop();
        q.x = (j + 1) * 200;// set position
        q.y = 500;

        var r:uint = Math.floor(Math.random() * q_list.length);
        q.qface = q_list[r];// assign face to card
        q_list.splice(r,1);
        // remove face from list;
        q.gotoAndStop(q.qface+1);
        addChild(q);
    }
}
让我们创建一个数组,
ansArray
,它存储所有的
Ans
。现在,无论何时创建一个新的
ansArray
,将它添加到
ansArray
,您将拥有一个任何其他函数都可以使用的更永久的引用

var ansArray:Array = []
function displayQues():void
{
    //all that other crud
    ansArray.push(q)
}