我正在制作游戏,我正在尝试创建游戏结束功能。我如何将所有图像重置为起始位置?
答案 0 :(得分:1)
您可以以编程方式将图像类的所有位置存储在数组内的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而只是为了便于阅读,computedStyles是正确的路径。