2
私はゲームを作っており、ゲーム終了機能を作成しようとしています。すべての画像を開始位置にリセットするにはどうすればいいですか?イメージの位置をリセットする方法
私はゲームを作っており、ゲーム終了機能を作成しようとしています。すべての画像を開始位置にリセットするにはどうすればいいですか?イメージの位置をリセットする方法
イメージクラスのすべての位置を、配列内のオブジェクト内にプログラム的に格納することができます。 そして、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だと知っていますが、これは私が今書いた概念です。 これは、getElementByの代わりにeach()とjqueryセレクタを使用するように調整することができます。 私はstyle.topを使い、可読性のために残しましたが、computedStylesは正しいパスです。
初期位置をhttp://api.jquery.com/data/に保存し、必要に応じて復元します。 – Cheery
Cheeryがinit()関数を言ったり再実行したり、ページをリロードしたりします。 –