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配置文件进行多个接口请求-封装mock(9)
封装mock # -*- coding: utf-8 -*- # @Time : 2020/2/12 8:51 # @File : mock_demo_9.py # @Author: Hero Liu ...
- win10安装CAD失败,怎么强力卸载删除注册表并重新安装
一些搞设计的朋友在win10系统下安装CAD失败或提示已安装,也有时候想重新安装CAD的时候会出现本电脑windows系统已安装CAD,你要是不留意直接安装CAD,只会安装CAD的附件或者直接提示失败 ...
- js弱类型转换的知识点
本文属于转载知识点,以下是原博文作者:不死鸟哇的文章,文章链接:原文JavaScript里什么情况下a==!a为true呢? 今天群里有位同学问了这样一个问题,JavaScript在什么情况下会出现变 ...
- C# 输出&输入&类型强制转换
输入字符串 String s; s=Console.ReadLine(); 输出字符串 Console.WritrLine(s); 输出分两种 ①占位符输出:Console.WriteLine(&qu ...
- python基础修改haproxy配置文件
1.通过eval(),可以将字符串转为字典类型. 2.Encode过程,是把python对象转换成json对象的一个过程,常用的两个函数是dumps和dump函数.两个函数的唯一区别就是dump把py ...
- CSS 之动态变换背景颜色
先上效果图 HTML代码: 123456789 <div class="header"> <h1>GCCHRN'S BLOG</h1> < ...
- 第12章 Reference-RIL运行框架
Reference-RIL完成两部分处理逻辑: 与LibRIL交互完成RIL消息的处理. 与Modem通信模块交互完成AT命令的执行. Reference-RIL的运行机制 主要涉及以下几个方面: R ...
- 《自动化平台测试开发-Python测试开发实战》第2次印刷
书籍货源比较紧张.紧张啊,如此短的时间,已经第2次印刷.第2次印刷. 第2次印刷. 同时该书已确认与台湾出版社合作翻译成繁体版,甚至有可能与国外出版社合作翻译成英文版. 2018年7月 第1次印刷 2 ...
- CPU踩点图
CPU占比探测用js来检查当前系统cpu的占用比例,通过 setTimeout 的方式探测 CPU 的大小,这样可以实现网页游戏中动画等耗时操作的自动调节.这个原理是很多人都知道的,就是用JS来踩点. ...
- 【原创】面试官问我G1回收器怎么知道你是什么时候的垃圾?
这是why技术的第36篇原创文章 上面的图片是我上周末在家拍的.以后的文章里面我的第一张配图都用自己随手拍下的照片吧.分享生活,分享技术,哈哈. 阳台上的花开了,成都的春天快来了,疫情也应该快要过去了 ...