Actionscript 3 AS3:刷新函数

Actionscript 3 AS3:刷新函数,actionscript-3,function,reset,Actionscript 3,Function,Reset,在动作脚本3中,是否有刷新函数的方法?我想我要找的是,当我切换屏幕以重置或刷新某个函数时,该函数也绑定到一个数组中,所以我不知道这是否会产生任何影响。程序是这样工作的,有59个数字,用户选择5个。下面是我正在使用的代码和我正在尝试重置的代码 var pickFive:Array = new Array (5); var m_iNextElement:int = 0; var b1:TextField = new TextField(); var b2:TextFi

在动作脚本3中,是否有刷新函数的方法?我想我要找的是,当我切换屏幕以重置或刷新某个函数时,该函数也绑定到一个数组中,所以我不知道这是否会产生任何影响。程序是这样工作的,有59个数字,用户选择5个。下面是我正在使用的代码和我正在尝试重置的代码

    var pickFive:Array = new Array (5);
    var m_iNextElement:int = 0;
    var b1:TextField = new TextField();
    var b2:TextField = new TextField();
    var b3:TextField = new TextField();
    var b4:TextField = new TextField();
    var b5:TextField = new TextField();

    var myFormat:TextFormat = new TextFormat();
    myFormat.size = 45;

    Game.board.btn_1.addEventListener(MouseEvent.CLICK, btn1);

//Trying to reset this
    function btn1(event:MouseEvent):void{
        if(m_iNextElement <= 4){
        Game.board.btn_1.gotoAndStop(2);
        pickFive[m_iNextElement] = 1;
        m_iNextElement++;

        b1.defaultTextFormat = myFormat;
        b1.text = pickFive[0];
        b1.x = 510;
        b1.y = 103;
        addChild(b1);

        b2.defaultTextFormat = myFormat;
        b2.text = pickFive[1];
        b2.x = 593;
        b2.y = 103;
        addChild(b2);

        b3.defaultTextFormat = myFormat;
        b3.text = pickFive[2];
        b3.x = 673;
        b3.y = 103;
        addChild(b3);

        b4.defaultTextFormat = myFormat;
        b4.text = pickFive[3];
        b4.x = 760;
        b4.y = 103;
        addChild(b4);

        b5.defaultTextFormat = myFormat;
        b5.text = pickFive[4];
        b5.x = 840;
        b5.y = 103;
        addChild(b5);
        }
    }
var-pickFive:Array=新数组(5);
变量m_不精确:int=0;
变量b1:TextField=newtextfield();
变量b2:TextField=newtextfield();
var b3:TextField=newtextfield();
var b4:TextField=newtextfield();
var b5:TextField=newtextfield();
var myFormat:TextFormat=newtextformat();
myFormat.size=45;
Game.board.btn_1.addEventListener(MouseEvent.CLICK,btn1);
//正在尝试重置此设置
函数btn1(事件:MouseEvent):无效{

如果要进行重置,只需创建一个重置函数。也就是说,该函数包含“将各种变量调整为首选变量,直到被视为重置”的指令。然后,每当需要重置时,只需触发该函数的执行,例如:
do_reset()
确保do_Reset不是基于事件的函数,例如:
函数do_Rest(event:MouseEvent):void
如果您尝试手动执行它,它将不起作用,因为只有鼠标事件才能触发该函数,如果它是这样设置的

不管怎么说,听起来你实际上并不是在寻找大多数人所谓的重置,而是更多的是所谓的重新运行。重置意味着你什么都不做,事情发生了,重置就是像一个新的开始一样重新回到零,重新运行是指当事情发生时,你希望事情重新发生

因此,我们找到了一个可能的解决方案

    var pickFive:Array = new Array(5);
    var m_iNextElement:int = 0;
    var b1:TextField = new TextField();
    var b2:TextField = new TextField();
    var b3:TextField = new TextField();
    var b4:TextField = new TextField();
    var b5:TextField = new TextField();

    var myFormat:TextFormat = new TextFormat();
    myFormat.size = 45;

    Game.board.btn_1.addEventListener(MouseEvent.CLICK, btn1);

    function btn1(event:MouseEvent):void
    {
        trace(" *** Clicked btn1 : Setting up game... ");

        Game.board.btn_1.gotoAndStop(2);

        setup_Board(); //to manually run that function
    }

    //Trying to reset this...
    function setup_Board():void
    {
        if (m_iNextElement <= 4)
        {

            pickFive[m_iNextElement] = 1;
            m_iNextElement++;

            b1.defaultTextFormat = myFormat;
            b1.text = pickFive[0];
            b1.x = 510; b1.y = 103; addChild(b1);

            b2.defaultTextFormat = myFormat;
            b2.text = pickFive[1];
            b2.x = 593; b2.y = 103; addChild(b2);

            b3.defaultTextFormat = myFormat;
            b3.text = pickFive[2];
            b3.x = 673; b3.y = 103; addChild(b3);

            b4.defaultTextFormat = myFormat;
            b4.text = pickFive[3];
            b4.x = 760; b4.y = 103; addChild(b4);

            b5.defaultTextFormat = myFormat;
            b5.text = pickFive[4];
            b5.x = 840; b5.y = 103; addChild(b5);
        }
    }

    function Game_Over():void
    {
        trace(" *** Game Over : Re-set game for new try... ");

        Game.board.btn_1.gotoAndStop(1);

        reset_Board(); //to manually run that function
    }

    function reset_Board():void
    {
        b1.text = b2.text = b3.text = b4.text = b5.text = "";

        removeChild(b1); removeChild(b2); removeChild(b3);
        removeChild(b4); removeChild(b5);

        trace(" *** Re-set complete... ");

        Game.board.btn_1.addEventListener(MouseEvent.CLICK, btn1);

        //// Or manual function re-run without waiting for above mouse click
        //setup_Board();
    }
var-pickFive:Array=新数组(5);
变量m_不精确:int=0;
变量b1:TextField=newtextfield();
变量b2:TextField=newtextfield();
var b3:TextField=newtextfield();
var b4:TextField=newtextfield();
var b5:TextField=newtextfield();
var myFormat:TextFormat=newtextformat();
myFormat.size=45;
Game.board.btn_1.addEventListener(MouseEvent.CLICK,btn1);
函数btn1(事件:MouseEvent):无效
{
跟踪(***点击btn1:设置游戏…);
游戏。棋盘。btn_1。前进和停止(2);
setup_Board();//手动运行该函数
}
//正在尝试重置此。。。
功能设置板():无效
{

如果(m_)不正确,这太模糊了。请花点时间尝试并详细说明您的应用程序是如何工作的,您尝试了什么,您当前使用的任何适用代码以及您遇到的特定问题。只需更新它,希望在您说“重置”时,这可能会澄清一些问题,你的意思是你想删除你在点击事件中创建的所有文本框吗?我仍然很难理解你到底在试图完成什么。目前我已经把数字删除了。问题是框停留在第2帧,数组仍然存储所选的数字。因此,当
m\u incremente
为>4时,你将蚂蚁b1、b2、b3、b4、b5消失,而
pickFive
数组为空?