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