html5 方框内的小球
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 方框内的小球的更多相关文章
- HTML5 Canvas绚丽的小球详解
实例说明: 实例使用HTML5+CSS+JavaScript实现小球的运动效果 掌握Canvas的基本用法 技术要点: 从需求出发 分析Demo要实现的功能 擅于使用HTML5 Canvas 参考手册 ...
- HTML5 随机弹跳的小球
查看效果:http://keleyi.com/a/bjad/tc1y11dy.htm Chrome效果图: 火狐效果图:推荐:http://hovertree.com/texiao/css3/18/ ...
- 浅谈html5网页内嵌视频
更好的阅读体验:浅谈html5网页内嵌视频 如今在这个特殊的时代下:flash将死未死,微软和IE的历史问题,html5标准未定,苹果和谷歌的闭源和开源之争,移动互联网的大势所趋,浏览器各自为战... ...
- html5 frameset5内嵌框架集
利用html5 frameset内嵌框架简单做一个网页,网页的布局大体如下: 我们可以将其分为四个部分: 第一部分:top图片栏 第二部分:left链接栏 第三部分:right内容栏 第四部分:网页整 ...
- 第八讲:HTML5中canvas实现小球击打小方块游戏
源码:http://download.csdn.net/detail/liumingm900913/7469969 游戏开发流程: 1.创建画布: 将画布放在div标签里面,这样能够控制画布居中的位置 ...
- 如何在小方框上打对号 小方框内打对勾 word 方框打对勾
在word中做选择时,很多人遇到需要在小方框上打对勾而不知如何做,现将可行的各种方法总结如下: 1:直接找到一个做好的,保存为图片,在需要的时候插入它: 2:插入文本框,然后边框选择为实线,在文本 ...
- 怎样在小方框上打对号 小方框内打对勾 word 方框打对勾
在word中做选择时,非常多人遇到须要在小方框上打对勾而不知怎样做,现将可行的各种方法总结例如以下: 1:直接找到一个做好的,保存为图片,在须要的时候插入它: 2:插入文本框,然后边框选择为实线,在文 ...
- Html5页面内使用JSON动画的实现
有一天我们的UI设计师找到我说,要把页面中我自己用程序写的动画,换成他们给的json动画,原因是有的动画很复杂,自己写起来达不到他们的预期效果(写到这里我突然想到一个问题,这么复杂的动画为什么不使用g ...
- 如何在 EXCEL 2003 插入的方框内打对勾,复选框
一个方框里带勾的符号是吧第一种:EXCEL里有个插入符号的功能知道吧,打开它在符号那栏(不是特殊符号那栏),下拉字体找到Wingdings字体,在下面的符号中就能找到框中带勾的符号 第二种:在界面点& ...
随机推荐
- jquery学习——选择器
一.基础选择 1.$("*") 选择所有元素 2.$(".class") 选择某个类 3.$("#id") 选择某个id 4.$(" ...
- phpcms图片模型调用组图的问题
phpcms里面有个图片模型,之前一直没有用过,之前用的轮播图是用文章+缩略图+推荐位实现的 今天看了一下图片模型添加内容的地方,和平常的文章相比多了一个组图的地方:
- 常见的MYSQL高可用解决方案
MySQL 是一种关系数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL 软件采用了双授权政策(本词条"授权政策& ...
- spring + myBatis 常见错误:SQL语法错误
在程序运行时,有时候会出现如下错误: 这个错误通常是你的sqlmapper.xml中sql语句语法有错误.所以请仔细查看你sql语句是否正确,比如{#id}这样写就会报上述错误,其实应该#{id}这样 ...
- ios Swift 一些注意事项
func test(one:NSString) -> NSString{ return "aaa" } func test(one:Int) -> NSString{ ...
- switch/ifelse 使用总结
2015年3月30日 14:12:36 switch 中的 default 和 if/else 中最后的 else 尽可能的不要用 1. 不要default, 不要写默认处理逻辑, default ...
- win8内置管理员用户无法激活此应用
在运行中输入:“gpedit.msc”,就会启动组策略编辑器, 计算机配置 --> Windows设置 --> 安全设置 --> 本地策略 --> 安全选项 :::: 用 ...
- pair<>结构体模版的用法
1.pair算是一个结构体模版,定义的时候是这样的: pair<T1,T2> P; 其中T1,T2可以是int,string,double,甚至是vector<>. 2.进行初 ...
- 【leetcode】Number of Islands(middle)
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...
- jQuery与JS的区别,以及jQuery的基础语法
*在使用jQuery时,要在页面最上端加上 <script src="../jquery-1.11.2.min.js"></script> 看一下js与jQ ...