AS3-在函数内使用变量

时间:2014-09-10 02:10:03

标签: actionscript-3

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);
    }
}

这是我用来显示随机问题的功能(在另一个动画片段中是符号)。如果我想在拖动后重置问题的位置,点击重置按钮,我该怎么办?我需要使用&#39; q&#39;里面的功能displayQues?怎么解决?或者如果我想制作&#39; q&#39;看不见或毁灭,该怎么办?

1 个答案:

答案 0 :(得分:0)

呃 - 你的问题很难理解。但我会尝试解决它。​​

因为你没有在你的函数前面列出privatepublic,所以我假设你在没有动作脚本类的动作窗口中做了所有事情。

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

这就是我要做的事;在功能块之外,输入此内容。

var ansArray:Array = []

让我们创建一个存储所有ansArray的数组Ans。现在,每当您创建一个新的Ans时,将其添加到ansArray,您将拥有一个任何其他函数可以使用的更永久的引用。

function displayQues():void
{
    //all that other crud
    ansArray.push(q)
}