制作打方块游戏遇到的问题以及解决办法

    最近学习到HTML5的新标签canvas,发现这个标签非常好玩,所以用这个标签属性做一个小游戏来熟悉怎么使用。

在开始遇到两个问题,

1.怎么让球碰到球拍后反弹?

解决办法,用坐标轴定位的方式,球的位置(x1,y1),球拍的位置(x2,y2);当x2=x1,y2=y1的时候即为发生碰撞(当然这里要考虑球的面积和球拍的面积)。

2.未解决的问题,怎么从window.onload=function(){document.onmousemove=function(x2){}}里拿到参数x2.

这里我想动态的绑定球拍与球的位置,但是没办法在函数外面拿到到这个参数,但是在下面写的定时器里面却又可以拿到这个参数,查阅资料还是没有搞清楚。

3.怎么开始游戏,我是让鼠标单击整个页面之后触发整个事件,但这里出现问题,再次单击后会继续重复触发这个事件。

解决办法,后来我想到在外面给一个参数let clickcount=1,单击事件里面写上clickcount++;判断如果clikcount==1的时候执行里面的操作,否则就不执行。这样就避免了之后的单击触发了这个事件。

4.暂停游戏,这里我设置了一个音效<audio>但是当事件结束之后,它会卡住一直的播放,使用pause();也不能解决。

解决办法,在添加判断条件当球体出现在底端时候,直接清除定时器。window.clearInterval(timer);

猜你喜欢

转载自blog.csdn.net/chaoxiao1231/article/details/80716278