Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
For loop AS3 URLRequest在for循环中出现问题_For Loop_Actionscript 3_Urlrequest - Fatal编程技术网

For loop AS3 URLRequest在for循环中出现问题

For loop AS3 URLRequest在for循环中出现问题,for-loop,actionscript-3,urlrequest,For Loop,Actionscript 3,Urlrequest,我从一个xml文件中读取了一些数据,除了URL之外,其他一切都很好。我不知道“navigateURL”函数或eventListener有什么问题。。。单击哪个方块,它将打开xml文件中的最后一个url for(var i:Number = 0; i <= gamesInput.game.length() -1; i++) { var square:square_mc = new square_mc(); //xml values var tGame_name:String

我从一个xml文件中读取了一些数据,除了URL之外,其他一切都很好。我不知道“navigateURL”函数或eventListener有什么问题。。。单击哪个方块,它将打开xml文件中的最后一个url

for(var i:Number = 0; i <= gamesInput.game.length() -1; i++)
 {
  var square:square_mc = new square_mc();

  //xml values
  var tGame_name:String   = gamesInput.game.name.text()[i];//game name
  var tGame_id:Number     = gamesInput.children()[i].attributes()[2].toXMLString();//game id
  var tGame_thumbnail:String  = thumbPath + gamesInput.game.thumbnail.text()[i];//thumb path
  var tGame_url:String     = gamesInput.game.url.text()[i];//game url

  addChild(square);
  square.tgname_txt.text = tGame_name;
  square.tgurl_txt.text = tGame_url;

  //load & attach game thumb
  var getThumb:URLRequest = new URLRequest(tGame_thumbnail);
  var loadThumb:Loader = new Loader();
   loadThumb.load(getThumb);
   square.addChild(loadThumb);
  //
  square.y = squareY;
  square.x = squareX;
  squareX += square.width + 10;

  square.buttonMode = true;
  square.addEventListener(MouseEvent.CLICK, navigateURL);

 }

 function navigateURL(event:MouseEvent):void
 { 
  var url:URLRequest = new URLRequest(tGame_url);
  navigateToURL(url, "_blank");
  trace(tGame_url);
 }

for(var i:Number=0;i看起来您没有正确附加事件侦听器。请将其附加到创建新square_mc时创建的变量,而不是this.addEventListener…..以便:


square.addEventListener(MouseEvent.CLICK,navigateURL);

您应该在正方形上添加addEventListener

嗯..仍然在考虑eventhandler函数如何获得正确的tgame\u url变量

如果您尝试以下方法:

 square.addEventListener(MouseEvent.CLICK, function navigateURL(event:MouseEvent):void 
 {  
    var url:URLRequest = new URLRequest(tGame_url); 
     navigateToURL(url, "_blank"); 
    trace(tGame_url); 
  });
在navigateURL()中,您使用tGame\u url,但我认为您更喜欢使用tgurl\u txt.text之类的内容,这对于每个方块都是不同的。

尝试跟踪以下内容:

function navigateURL(event:MouseEvent):void
 { 
  var url:URLRequest = new URLRequest(tGame_url);
  navigateToURL(url, "_blank");
  //trace(tGame_url);
  trace(event.currentTarget.tgurl_txt.text);
 }
您应该将url添加到循环中的方块中

square.theUrl = tGame_url;
在事件侦听器函数中,您应该能够使用

event.currentTarget.theUrl;

eventListener它附加到方块上,可以工作,但是所有方块都有相同的url…嗨,非常感谢你的回答,我试过了,但仍然没有成功嗨,我试过了,就像你说的,但我得到了相同的东西…它总是从xml中得到最后一个url:(.谢谢你的支持!只是想知道你是否已经解决了问题?因为我有同样的问题,我无法从外部访问任何添加了for循环的子项。是否存在范围问题?