【问题标题】:for in javascript is not working rightfor in javascript 无法正常工作
【发布时间】:2013-03-08 14:17:52
【问题描述】:

不知道怎么回事 这个函数 应该放 新玩家 对于数组中的每个名称

function newplayer() {
var y = data.playerY;   
var x = data.playerX;

var player ="";
var players={name1:"Jao",name2:"lucas",name3:"pedro",name4:"jorge"}; 

for(var p in players)
{
    player = players[p];
    var xpos = (x-y)*tileH + mapX;
    var ypos = (x+y)*tileH/2+ mapY;

    ctx.drawImage(charImg[0],xpos,ypos-(charImg[0].height/2));  
    //ctx.fillText(player.name, xpos + 10, ypos - (charImg[0].height/2) - 5);
}

}

编辑:设法得到 更改代码 var player = 玩家 [p], for player = 玩家 [p];

obrigado vocês que me ajudarão 包容伊戈尔

对不起,我的英语来自巴西

【问题讨论】:

  • 你的foreach代码是正确的,你的问题应该出在别的地方。
  • var player = players[p];中删除var
  • @Igor 认为var 关键字是多余的,但这不是错误
  • 演示小提琴怎么样?

标签: javascript html canvas


【解决方案1】:

我猜问题出在您注释掉的那一行?这个:

//ctx.fillText(player.name, xpos + 10, ypos - (charImg[0].height/2) - 5);

因为否则你甚至不需要循环,因为你没有使用playerp。如果这是真的,那么问题是player.name 将是未定义的。考虑到您的对象和循环方式,player 将保存玩家名称。所以:

ctx.fillText(player, xpos + 10, ypos - (charImg[0].height/2) - 5);

【讨论】:

  • 我可以放一个我想在变量 player 中为每个玩家放更多的球员 一名球员 示例:joão 一名球员,卢卡斯球员二,佩德罗树球员,忽略这一行:ctx.fillText(player , xpos + 10, ypos - (charImg[0].height/2) - 5);
  • 那么我们需要更多细节。您当前的循环对播放器没有任何作用,您定义了 player 但从不使用它。
  • 如果我将整个代码放在这里,您将无法理解别名有客户端和服务器:用户“Igor”帮助了我。我所有的代码都超过 120 行
【解决方案2】:

您似乎希望将播放器作为一组播放器进行访问。但是您使用的对象不是集合。

function newplayer() {
     var y = data.playerY;   
     var x = data.playerX;

     var players=[
            { name: "Jao" },
            { name: "lucas"},
            { name: "pedro"},
            { name:"jorge" }]; 

     for(var player in players)
     {
         var xpos = (x-y)*tileH + mapX;
         var ypos = (x+y)*tileH/2+ mapY;

         ctx.drawImage(charImg[0],xpos,ypos-(charImg[0].height/2));  
         ctx.fillText(player.name, xpos + 10, ypos - (charImg[0].height/2) - 5);
     }

}

如果您不添加有关播放器的其他信息,则可以简单地将其设为字符串数组。

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 1970-01-01
    • 2017-04-18
    • 2013-12-23
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多