html5 cavans的小应用
1.canvas鼠标画线,canvas小方块移动,canvas小方块旋转并缩放
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>绘制方块</title>
<style>
body{background:#000;}
#c1{background:#fff;}
span{background:#fff;}
</style>
<script>
window.onload = function(){
var oC = document.getElementById('c1');
var oGc = oC.getContext('2d');
oGc.fillRect(0,0,100,100);
var num = 0;
setInterval(function(){
num++;
oGc.clearRect(0,0,oC.width,oC.height);
oGc.fillRect(num,num,100,100);
},30);
};
</script>
</head> <body>
<!--canvas 的宽高写在行间样式中是画布的大小,写在行间中就是等比缩放-->
<canvas id="c1" width="400" height="400">
<span>不支持canvas</span>
</canvas>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>小方块的缩放和旋转</title>
<style>
body{background:#000;}
#cl{background:#fff;}
span{background:#fff;}
</style>
<script>
window.onload = function(){
var oC = document.getElementById('cl');
var oGc = oC.getContext('2d');
var num = 0 ;
var value = 1;
var num2 = 0; setInterval(function(){
num++;
oGc.clearRect(0,0,oC.width,oC.height);
oGc.save(); // 注意这个使用的地方,画布清掉的一开始就用
if(num2 == 100){
value = -1;
}else if(num2 == 0){
value = 1;
}
num2 += value;
oGc.translate(100,100);
oGc.rotate(num*Math.PI/180);
oGc.scale(num2*1/50,num2*1/50);
oGc.translate(-50,-50);
oGc.fillRect(0,0,100,100);
oGc.restore();
},30); };
</script>
</head> <body>
<canvas id="cl" width="400" height="400">
<span>浏览器不支持canvas</span>
</canvas>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
body{background:#000;}
#c1{background:#fff;}
span{background:#fff;}
</style>
<script>
window.onload = function(){
var oC = document.getElementById('c1');
var oGc = oC.getContext('2d'); oC.onmousedown = function(ev){
var ev = ev || window.event; oGc.moveTo(ev.clientX-oC.offsetLeft,ev.clientY-oC.offsetTop);
oC.onmousemove = function(ev){
var ev = ev || window.event;
oGc.lineTo(ev.clientX-oC.offsetLeft,ev.clientY-oC.offsetTop);
oGc.stroke();
};
oC.onmouseup = function(){
oC.onmousemove = oC.onmouseup = null;
};
return false;
};
};
</script>
</head> <body>
<canvas id="c1" width="400" height="400">
<span>不支持canvas</span>
</canvas>
</body>
</html>
html5 cavans的小应用的更多相关文章
- HTML5 的一些小的整理吧
主要的就是一些HTML 5 API 的使用 也是借鉴别人的博客 ,和MDN(中文部分的还是能看的懂) 上面的一些东西 具体的代码在 有道云笔记里面也有. 先把总得列出来 1.Canvas绘图 学完这个 ...
- 通通的最后一篇博客(附自制html5平面射击小游戏一枚)
这是我最后一篇博客了,由于本人的人生规划吧,以后应该也写不出什么好的技术文章了,到现在在博客园写了2年, 今天一看,我也有了120个粉丝,好几万的浏览量,感谢大家的支持啊~~ 半年没有写博客了,由于半 ...
- [HTML5实现人工智能]小游戏《井字棋》发布,据说IQ上200才能赢
一,什么是TicTacToe(井字棋) 本 游戏 为在下用lufylegend开发的第二款小游戏.此游戏是大家想必大家小时候都玩过,因为玩它很简单,只需要一张草稿纸和一只笔就能开始游戏,所以广受儿 ...
- 【HTML5游戏开发小技巧】RPG情景对话中,令文本逐字输出
以前用JAVAscript实现过令文本逐字输出的效果,今天我来用html5中的canvas实现一下.canvas里的内容可不像<p>那样好操作,首先,你需要懂得一些html5的API才能操 ...
- 【HTML5游戏开发小技巧】RPG情形对话中,令文本逐琢夸出
从前用JAVAscript完成过令文本逐琢夸出的效果,明天嗡炒用html5中的canvas完成一下.canvas里的内容可没有像<p>那样好操做,起首,您需求懂得一些html5的API才气 ...
- JavaScript+HTML5 实现打地鼠小游戏
一.游戏简介 打地鼠这个游戏相信大家都不陌生,也是童年时候一款经典的游戏.本次游戏的编写是以html文件形式完成的,并且使用HBulider软件进行编写,使用谷歌浏览器展示效果,游戏将会采用JavaS ...
- 让所有的浏览器都能识别HTML5标签样式的小插件
如今HTML5愈来愈引发大家的关注了,但目前支持HTML5的浏览器还不是主流,特别是国内用户近50%以上仍旧使用IE6,由于支持HTML5的IE9不支持Xp系统安装,这样未来很长一段时间,HTML5的 ...
- 初学HTML5做的小知识点
新增的HTML5标签 语义化标签 :<header> 头标签 <nav> 导航标签 <section> 表示文档的结构.栏目 < ...
- html5 canvas 移动小方块
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
随机推荐
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-openpyxl读取excel(14)
从excel中读取数据 # -*- coding: utf-8 -*- # @Time : 2020/2/12 17:23 # @File : do_excel_openpyxl_14.py # @A ...
- Qt QString与int的转换
QString转int QString a=" ; int b; b=a.toInt(); int 转 QString ; QString b; b=QString::number(a)
- 3DSMAX 卸载工具,完美彻底卸载清除干净3dsmax各种残留注册表和文件
一些同学安装3dsmax出错了,也有时候想重新安装3dsmax的时候会出现这种本电脑已安装3dsmax,你要是不留意直接安装,只会安装3dsmax的附件,3dsmax是不会安装上的.这种原因呢就是大家 ...
- [LC] 236. Lowest Common Ancestor of a Binary Tree
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...
- keepalive笔记之三:keepalived通知脚本进阶示例
下面的脚本可以接受选项,其中: -s, --service SERVICE,...:指定服务脚本名称,当状态切换时可自动启动.重启或关闭此服务: -a, --address VIP: 指定相关虚拟路由 ...
- CSS--沃顿商学院网页布局
源代码: <head> 右键CSS样式--附加样式表 </head> <body> <div id="dd"> <div id ...
- Qt类声明中Q_OBJECT的作用与报错解决
2017-06-22 周四 大雨 北京 院里 新建作图类,继承自QCUstomPlot类 因为需要同时作8张图,都要单坐标缩放的功能,因此想干脆新建一个类,继承自QCUstomPlot,把需要的功能都 ...
- 一步一步理解AdaBoosting(Adaptive Boosting)算法
最近学习<西瓜书>的集成学习之Boosting算法,看了一个很好的例子(https://zhuanlan.zhihu.com/p/27126737),为了方便以后理解,现在更详细描述一下步 ...
- Mariadb 修改root密码及跳过授权方式启动数据库
默认情况下,yum方式新安装的 mariadb 的密码为空,在shell终端直接输入 mysql 就能登陆数据库. 如果是刚安装第一次使用,请使用 mysql_secure_installation ...
- 初识Arduino
Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬件(各种型号的Arduino板)和软件(Arduino IDE).由一个欧洲开发团队于2005年冬季开发.其成员包括Massimo Ba ...