我正在制作游戏,并且试图创建游戏结束功能。如何将所有图像重置为其初始位置?

最佳答案

您可以以编程方式将图像类的所有位置存储在数组内的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/

10-09 17:20