我正在制作游戏,并且试图创建游戏结束功能。如何将所有图像重置为其初始位置?
最佳答案
您可以以编程方式将图像类的所有位置存储在数组内的Object内。
然后,您可以循环array
恢复其位置。
var positions = new Array(0); //positions array
function objPos(obj){
return({
'obj':obj,
'x':obj.style.left,
'y':obj.style.top
});
}
function savePositions(imgContainer){
var imgs = imgContainer.getElementsByTagName('IMG');
for(var i=0; i<imgs.length; i++){
positions[i]=objPos( imgs[i] );
}
}
function restoreStoredPositions(){
for(var i=0; i<positions.length; i++){
var img=positions[i];
img.style.top=positions[i].y;
img.style.left=positions[i].x;
}
}
在初始状态下调用
savePositions
函数,以后可以调用restoreStoredPositions
。如果您需要持久性数据,请将数组字符串化为JSON,然后将其存储到Cookie或HTML5 LocalStorage。我知道这是纯JS,但这只是我现在写的一个概念。
您可以对其进行修改,以使用each()和jquery选择器代替getElementBy ...
我使用style.top和left只是为了提高可读性,computeStyles是正确的路径。
关于javascript - 如何重置图像位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9386838/