弹球游戏
☻☞
注意体会里面所包含的游戏开发的思想:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>弹球效果</title>
</head>
<body>
<canvas id="canvas" width="300" height="300"></canvas>
<br>
<input type="button" id="startbtn" value="开始">
<input type="button" id="stopbtn" value="停止">
<script type="text/javascript">
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var startbtn = document.getElementById("startbtn");
var stopbtn = document.getElementById("stopbtn");
var dir = 100;
var exe = -1; //变量增量,这个变量在游戏开发中用的多
function drawBall(){
context.clearRect(0,0,300,300);
context.fillStyle = "red";
context.beginPath();
context.arc(200,dir,20,0,Math.PI*2,true);
context.closePath();
context.fill();
dir = dir+exe; //
if(dir ==0 || dir ==300) //判断当前线的位置,控制在区域内
{
exe = exe*(-1); //当在边界时候就掉头的控制变量,乘以负一用来调整线路的方向,这个在游戏开发中用的多。
}
}
var timeid;
startbtn.addEventListener("click",function(){ //给开始按钮添加单击事件
timeid = window.setInterval("drawBall()",10); //按照指定的周期来调用函数,返回值是定时器的ID值,注意此ID要定义成全局的,就能被清除掉。
},false);
stopbtn.addEventListener("click",function(){
window.clearInterval(timeid);
},false);
</script>
</body>
</html>

浙公网安备 33010602011771号