我是JAVASCRIPT和这个论坛的新手,我在这里阅读了很多帖子,但这是我的第一篇文章。 我已经开始使用如下所示的数组来存储我构建的游戏的大部分数据;这特别适用于游戏统计和坐标。 下面的例子是我的一个较小的数组。我将它们全部保存在excel电子表格中,当我需要调整一些数据时它们特别方便,因为它们都是自动连接的。那么我只需复制代码块并将其粘贴到我的javascript中。此示例主要存储库存槽的坐标以及它们各自拥有的项目类型。
//ENEMY INV ARAY COORDS
function enemyinvcoords(name, x1, y1, x2, y2, item, state){
this.name = name, this.x1 = x1, this.x2 = x2, this.y1 = y1, this.y2 = y2, this.item = item, this.state = state;
}
//CREATE AND FILL INVCOORDSARRAY
var ENinvarr = [];
ENinvarr.push(new enemyinvcoords('EI0', 420, 280, 460, 320, 1, false));
ENinvarr.push(new enemyinvcoords('EI1', 465, 280, 505, 320, 2, false));
ENinvarr.push(new enemyinvcoords('EI2', 510, 280, 550, 320, 3, false));
ENinvarr.push(new enemyinvcoords('EI3', 555, 280, 595, 320, 4, false));
ENinvarr.push(new enemyinvcoords('EI4', 600, 280, 640, 320, 5, false));
ENinvarr.push(new enemyinvcoords('EI5', 645, 280, 685, 320, 6, false));
ENinvarr.push(new enemyinvcoords('EI6', 690, 280, 730, 320, 7, false));
这种方法有什么问题吗?到目前为止,它在填充屏幕和编辑统计信息时非常方便,因为它允许我通过使用贯穿所需数组的for循环来缩短代码。您对我如何以更好的方式存储这些东西有什么建议吗?从长远来看,我计划让这个游戏与某种类型的服务器通信,但目前我只是设计游戏机制和UI交互。我怀疑在此之前会有很多重写。我可能会问这个问题有点晚了,如果事实证明这是一种糟糕的工作方式,那么我觉得会有另一种改写。 任何建议都是最受欢迎的。 非常感谢和亲切的问候,
答案 0 :(得分:0)
恕我直言,这可以做得更简单一点,我可能会这样创建:
function enemyinvcoords(name, x1, y1, x2, y2, item, state){
return { name : name, x1 : x1, x2 : x2, y1 : y1, y2 : y2, item : item, state : state};
}
var ENinvarr = [
enemyinvcoords('EI0', 420, 280, 460, 320, 1, false),
enemyinvcoords('EI1', 465, 280, 505, 320, 2, false),
enemyinvcoords('EI2', 510, 280, 550, 320, 3, false),
enemyinvcoords('EI3', 555, 280, 595, 320, 4, false),
enemyinvcoords('EI4', 600, 280, 640, 320, 5, false),
enemyinvcoords('EI5', 645, 280, 685, 320, 6, false),
enemyinvcoords('EI6', 690, 280, 730, 320, 7, false)
];
希望能帮助您进入JavaScript。