为了账号安全,请及时绑定邮箱和手机立即绑定

我的代码遇到边框为什么不会弹回,直接下落呢

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>探照灯</title>

<script type="text/javascript">

var searchlignt={x:400,y:400,radius:100,vx:Math.random()*5+10,vy:Math.random()*5+10};

window.onload=function()

{

var canvas=document.getElementById('canvas');

canvas.width=800;

canvas.height=800;


var context=canvas.getContext("2d");

setInterval(

function(){


drawtext(context);

update(canvas.width,canvas.height);

},40);


}

function drawtext(cxt)

{

var canvas=cxt.canvas;

cxt.clearRect(0,0,canvas.width,canvas.height);//清除圆形

cxt.save();


cxt.beginPath();

cxt.fillStyle="#000";

cxt.fillRect(0,0,canvas.width,canvas.height);//填充矩形


cxt.beginPath(); //绘制探照灯

cxt.fillStyle="#fff";

//填充圆形

cxt.arc(searchlignt.x,searchlignt.y,searchlignt.radius,0,Math.PI*2);

cxt.fill();

cxt.clip();


cxt.font="bold 150px Arial";

cxt.textAlign="center";//水平居中

cxt.textBaseline="middle";//垂直居中

cxt.fillStyle="#058";

cxt.fillText("CANVAS",canvas.width/2,canvas.height/4);

cxt.fillText("CANVAS",canvas.width/2,canvas.height/2);

cxt.fillText("CANVAS",canvas.width/2,canvas.height*3/4);

cxt.restore();


}

function update(canvasWidth,canvasHeight)

{

searchlignt.x+=searchlignt.vx;

searchlignt.y+=searchlignt.vy;

if (searchlignt.x-searchligt.radius<=0) {

searchlignt.vx=-searchlignt.vx;

searchlignt.x=searchlignt.radius;

}

if (searchlignt.x+searchligt.radius>=canvasWidth) {

searchlignt.vx=-searchlignt.vx;

searchlignt.x=canvasWidth-searchlignt.radius;

}

if (searchlignt.y-searchligt.radius<=0) {

searchlignt.vy=-searchlignt.vy;

searchlignt.y=searchlignt.radius;

}

if (searchlignt.y+searchlignt.radius>=canvasHeight) {

searchlignt.y=canvasHeight-searchlignt.radius;

searchlignt.vy=-searchlignt.vy;

}

}

</script>

</head>

<body>

<canvas id="canvas" style="border:1px solid #aaa;display:block;margin:50px auto;"></canvas>

</body>

</html>


正在回答

1 回答

您好 

调试了一下,是因为你的一个小笔误。

在function update(canvasWidth,canvasHeight){}里,有三处把searchlignt.radius错写成了searchligt.radius

0 回复 有任何疑惑可以回复我~
#1

青墨 提问者

非常感谢!我找了半天都没看出来,谢谢啦
2015-04-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的代码遇到边框为什么不会弹回,直接下落呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信