html5弹跳球

<html>
<head>
<meta   charset =utf-8 >
<title> 跳跳球 </title>

<script>
// box
var box_x=0;
var box_y=0;
var box_width=300;
var box_height=300;

// 注意:定位球采用球的中心
var ball_x=10;
var ball_y=10;
var ball_radius=10;
var ball_vx=5;
var ball_vy=3;

var box_bound_left=box_x+ball_radius;
var box_bound_right=box_x+box_width-ball_radius;
var box_bound_top=box_y+ball_radius;
var box_bound_bottom=box_y+box_height-ball_radius;
// ball

// context
var ctx;

function init()
{
    ctx=document.getElementById(
'canvas' ).getContext( '2d' );
    ctx.lineWidth=ball_radius;
    ctx.fillStyle=
"rgb(200,0,50)" ;
    move_ball();
    setInterval(move_ball,100);
// note
}
function move_ball()
{
    ctx.clearRect(box_x,box_y,box_width,box_height);
    move_and_check();
    ctx.beginPath();
    ctx.arc(ball_x,ball_y,ball_radius,0,Math.PI*2,true);
    ctx.fill();
    ctx.strokeRect(box_x,box_y,box_width,box_height);
}
function move_and_check()
{
    var cur_ball_x=ball_x+ball_vx;
    var cur_ball_y=ball_y+ball_vy;
    if(cur_ball_x
< box_bound_left)
    {
    ball_vx=-ball_vx;
    cur_ball_x=box_bound_left;
    }
    if(cur_ball_x
> box_bound_right)
    {
    ball_vx=-ball_vx;
    cur_ball_x=box_bound_right;
    }
    if(cur_ball_y
< box_bound_top)
    {
    ball_vy=-ball_vy;
    cur_ball_y=box_bound_top;
    }
    if(cur_ball_y
> box_bound_bottom)
    {
    ball_vy=-ball_vy;
    cur_ball_y=box_bound_bottom;
    }
    ball_x=cur_ball_x;
    ball_y=cur_ball_y;
}
</script>
</head>

<body   onLoad = "init()" >
<canvas   id = "canvas"   width = "400"   height = "400" />
</body>
</html>

转载于:https://www.cnblogs.com/java20130725/p/3215824.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值