到目前为止,在这个游戏中,我已经可以检查墙和桨碰撞,然后通过运行动画来重定向球。但是,在检查缺少碰撞时,我一直在摔倒。 else
和else if
语句都不起作用,辅助if语句也不起作用 - 无论是在主函数内还是作为单独的事件。我在这里几乎涵盖了所有可能性,但我希望你们中的一个人(你们可以像你们一样可靠)来帮助解决这个问题。
碰撞代码示例(单独的函数):
var BallStop7 = function(){
setTimeout(BallStop8, 850);
setTimeout(Check1, 1000);
//setTimeout(Check1, 1000);
if(document.getElementById('Paddle2').style.top=="251px");
{
document.getElementById('BallRebound6').id='BallRebound7';
document.getElementById('BallRebound7').style.webkitAnimationPlayState="running";
};
};
var BallStop8 = function(){
/**/
document.getElementById('BallRebound7').style.webkitAnimationPlayState="paused";
if(document.getElementById('Paddle1').style.top=="251px"){
if(confirm("Draw. Would you like to try again?")){
window.location="pingpongwars.tumblr.com";
};
document.getElementById('BallRebound7').style.webkitAnimationPlayState="paused";
};
};
var Check1 = function(){
if(document.getElementById('BallRebound7').style.left=="13.739665985107422px");{
alert("Player Two Wins");
document.getElementById('BallRebound7').style.visibility="hidden";
};
};
主要功能
var BallStop4 = function(){
//setTimeout(BallStop5, 370);
if(document.getElementById('Paddle1Return').style.top=="9px");
{
document.getElementById('BallRebound3').id='BallRebound4';
document.getElementById('BallRebound4').style.webkitAnimationPlayState="running";
};
if(document.getElementById('BallRebound3').style.left=="30px"){
alert("Player Two Wins");
document.getElementById('BallRebound3').style.visibility="hidden";
}
BallStop5();
};
Jsfiddle:http://jsfiddle.net/zbMCC/
答案 0 :(得分:1)
您的代码中有额外的分号:
if(document.getElementById('Paddle2').style.top=="251px");
^ = empty statement
{ /* A block of code */ }
在上面的示例中,如果是真的,它会执行一个空语句,并且无论如何都会执行代码块,尽管comaprison的结果。只需在if
之后删除所有分号。
if
此外,代码块不应以分号结尾,除非它们是声明或定义的一部分。