jqueryとアニメーションを学ぶためだけに、javascriptで簡単なゲームに取り組んでいます。ゲームは非常にシンプルで、弾むボールを2、3回打つだけです。
$(document).ready(function() {
$('#stage').bind('click',function(e){
$("#bomb").show();
var x = e.clientX - this.offsetLeft -35 ;
var y = e.clientY - this.offsetTop -35 ;
$("#bomb").animate({left:x,top:y}, 200, function(){
$("#bomb").hide();
$("#bomb").css({ top: "365px",left:"240px"});
$("#bomb").show();
});
});
$("#box1").click(function() {hit("#box1");})
$("#box2").click(function() {hit("#box2");})
$("#box3").click(function() {hit("#box3");})
});
10 秒後に実行を停止したいのですが、これを実現する方法がわかりませんでした。単純な setTimeout を作成しました。クリックすると (バインドされたメソッドを起動すると)、カウンターが停止します...アドバイス?カウンターのコードは次のとおりです。
var counter=setInterval(timer, 10000);
function timer()
{ count=count-1;
if (count < timeout)
{ clearInterval(counter);
imageUrl="img/BGgameover.gif";
$('#stage').css('background-image', 'url(' + imageUrl + ')');
$('#bomb').remove();
$('#stage').removeClass('running');
return;
}
document.getElementById("timer").innerHTML=count;
}