【发布时间】:2015-07-10 21:26:00
【问题描述】:
我正在开发一个使用 Javascript 的简单游戏,其中涉及对 HTML5 画布的更改。在数组中输入多个 (10+) 对象:
var boxes = [];
boxes.push({
x: 0,
y:canvas.height - 370,
width: 400,
height: 20});
boxes.push({
x: 300,
y:canvas.height - 100,
width: 150,
height: 90});
然后整个数组通过一个更新函数运行,该函数根据玩家的位置改变 x 值:
for (var i = 0; i < boxes.length; i++) {
if (boxes[1].x > -3000 + canvas.width) {
boxes[i].x -= robot.speed * modifier;
robot.x = canvas.width - 300;
};
};
当玩家死亡时会运行重置功能:
var reset = function () {
robot.x = 0;
robot.y = 500;
++deaths;
};
我正在寻找一种在此函数运行时将boxes 数组的所有值重置为原始值的方法,本质上是重置地图,而无需手动输入每个值,即boxes[1].x = 300
【问题讨论】:
-
如何在用值初始化原始数组(即备份)后立即复制它,当玩家死亡时,然后从备份中复制回来?这是一个选择吗?
标签: javascript arrays html canvas reset