html5 方框内的小球

版本一

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="js/jquery.js"></script>
<script>
$(function () {
var x=10,y=10,WIDTH,HEIGHT,RADIUS=10;
canvas=$("#canvas").get(0);
d=canvas.getContext("2d");
//小球方向,默认为1,向右下
var direction=1;
WIDTH= canvas.width;
HEIGHT= canvas.height; //小球走
setInterval(function () {
//1.判断方向,决定小球的横纵坐标
//2.判断方向变化
if(direction==1){
// 右下
x++;
y++;
if(y>=HEIGHT-RADIUS){
direction=2;
}
if(x>=WIDTH-RADIUS){
direction=4;
}
}else if(direction==2){
//右上
x++;
y--;
if(x>=WIDTH-RADIUS){
direction=3;
}
if(y<=RADIUS){
direction=1;
}
}else if(direction==3){
// 左上
x--;
y--;
if(y<=RADIUS){
direction=4;
}
if(x<=RADIUS){
direction=2;
}
}else if(direction==4){
// 左下
x--;
y++;
if(x<=RADIUS){
direction=1;
}
if(y>=HEIGHT-RADIUS){
direction=3;
}
}
d.clearRect(0,0,WIDTH,HEIGHT); // 清除之前的canvas
d.fillStyle="blue";
d.beginPath(); // 从新开始画,防止 冲突重叠
d.arc(x,y,RADIUS,0,Math.PI*2,true); // x y 坐标 半径30
d.closePath(); // 结束画布,防止冲突重叠
d.fill(); // 结束渲染
},20); });
</script>
</head>
<body>
<canvas id="canvas" width="400" height="300" style="border:1px solid green"></canvas>
<span><img src="direction.png" width="400"></span>
</body>
</html>

版本二

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="js/jquery.js"></script>
<script>
$(function () {
var x=10,y=10; // 圆坐标
var WIDTH,HEIGHT,RADIUS=10;
xx=1;yy=1; // 步长
canvas=$("#canvas").get(0);
d=canvas.getContext("2d");
WIDTH= canvas.width;
HEIGHT= canvas.height;
//小球走
setInterval(function () {
if(x < RADIUS || x >= WIDTH-RADIUS){ // 一开始坐标就相等了,要去掉=号 x = radius
xx *= -1;
}
//判断小球纵向边界
if(y < RADIUS || y >= HEIGHT-RADIUS){
yy *= -1;
}
x += xx;
y += yy;
d.clearRect(0,0,WIDTH,HEIGHT); // 清除之前的canvas
d.fillStyle="blue";
d.beginPath(); // 从新开始画,防止 冲突重叠
d.arc(x,y,RADIUS,0,Math.PI*2,true); // x y 坐标 半径30
d.closePath(); // 结束画布,防止冲突重叠
d.fill(); // 结束渲染
},20); });
</script>
</head>
<body>
<canvas id="canvas" width="400" height="300" style="border:1px solid green"></canvas>
<span><img src="direction.png" width="400"></span>
</body>
</html>

html5 方框内的小球的更多相关文章

  1. HTML5 Canvas绚丽的小球详解

    实例说明: 实例使用HTML5+CSS+JavaScript实现小球的运动效果 掌握Canvas的基本用法 技术要点: 从需求出发 分析Demo要实现的功能 擅于使用HTML5 Canvas 参考手册 ...

  2. HTML5 随机弹跳的小球

    查看效果:http://keleyi.com/a/bjad/tc1y11dy.htm Chrome效果图: 火狐效果图:推荐:http://hovertree.com/texiao/css3/18/ ...

  3. 浅谈html5网页内嵌视频

    更好的阅读体验:浅谈html5网页内嵌视频 如今在这个特殊的时代下:flash将死未死,微软和IE的历史问题,html5标准未定,苹果和谷歌的闭源和开源之争,移动互联网的大势所趋,浏览器各自为战... ...

  4. html5 frameset5内嵌框架集

    利用html5 frameset内嵌框架简单做一个网页,网页的布局大体如下: 我们可以将其分为四个部分: 第一部分:top图片栏 第二部分:left链接栏 第三部分:right内容栏 第四部分:网页整 ...

  5. 第八讲:HTML5中canvas实现小球击打小方块游戏

    源码:http://download.csdn.net/detail/liumingm900913/7469969 游戏开发流程: 1.创建画布: 将画布放在div标签里面,这样能够控制画布居中的位置 ...

  6. 如何在小方框上打对号 小方框内打对勾 word 方框打对勾

      在word中做选择时,很多人遇到需要在小方框上打对勾而不知如何做,现将可行的各种方法总结如下: 1:直接找到一个做好的,保存为图片,在需要的时候插入它: 2:插入文本框,然后边框选择为实线,在文本 ...

  7. 怎样在小方框上打对号 小方框内打对勾 word 方框打对勾

    在word中做选择时,非常多人遇到须要在小方框上打对勾而不知怎样做,现将可行的各种方法总结例如以下: 1:直接找到一个做好的,保存为图片,在须要的时候插入它: 2:插入文本框,然后边框选择为实线,在文 ...

  8. Html5页面内使用JSON动画的实现

    有一天我们的UI设计师找到我说,要把页面中我自己用程序写的动画,换成他们给的json动画,原因是有的动画很复杂,自己写起来达不到他们的预期效果(写到这里我突然想到一个问题,这么复杂的动画为什么不使用g ...

  9. 如何在 EXCEL 2003 插入的方框内打对勾,复选框

    一个方框里带勾的符号是吧第一种:EXCEL里有个插入符号的功能知道吧,打开它在符号那栏(不是特殊符号那栏),下拉字体找到Wingdings字体,在下面的符号中就能找到框中带勾的符号 第二种:在界面点& ...

随机推荐

  1. python entrypoint

    entrypoint, 实际是一张匹配表.匹配简短指令和具体的python函数的执行路径.有点快捷方式的概念. 不同的是,这种快捷方式不仅可以给命令行使用,还可以供其他代码简单调用,而无需关注太多细节 ...

  2. A Font Lover

    Monaco / Consolas 有名的等宽字体. 效果不错. Linux Libertine 非常好的衬线字体. Liberation Serif 比较好. Gentium 非常好的衬线字体. B ...

  3. 什么情况下可以不写PHP的结束标签“?>”

    我们经常看到有些PHP文件中的代码是只有开始标签,而没有结束标签的,那么什么情况下可以不写这个结束标签,而什么情况下必须写?先来看2个例子: 下面的代码正常运行: <?php echo 1234 ...

  4. linux创建子进程--fork()方法

    (1)fork()的定义 fork()函数是Unix中派生新进程的唯一方法,声明如下: #include <unistd.h> pid_t fork(void); 我们需要理解的是,调用一 ...

  5. poj 1028

    http://poj.org/problem?id=1028 题意(水):做一个游览器的历史记录. back:后退到上一个页面,当上一个页面没有时,输出ignored. forward:向前一个页面, ...

  6. javax.imageio.IIOException: Can't create cache file!

    javax.imageio.IIOException: Can't create cache file! at javax.imageio.ImageIO.createImageInputStream ...

  7. 为Linux服务器设置静态IP的方法

    这里以CentOS 7系列为例设置静态IP,原来RedHat系列的Linux发行版可以通过setup工具方便的设置静态IP,但是在版本7之后setup工具的功能就逐渐减弱了,所以这时候采用修改配置文件 ...

  8. 基于Maven构建开发第一个Storm项目

    前面说过了Storm的测试项目,那么此时我们更想自己写一个小项目来练练手,首先我们自己的Windows系统上首先应该安装好maven,然后启动Eclipse for JavaEE版本,接下来开始建立项 ...

  9. 如果你修改了ashx.cs的命名空间

    如果你修改了ashx.cs的命名空间,记得要同时修改ashx的WebHandler的Class. 在解决方案资源管理器中右键,查看标记

  10. SVN客户端以及使用 for windows

    1.首先我们需要下载 "svn小乌龟"后,进行安装.比如我下载如下的: 安装完成后,比如在我的项目在qiandaun1中,我右键就可以看到如下: 说明snv已经安装成功了! 2:c ...