作为刚进公司的毕业生,第一个项目便是开发html5游戏,于是网上搜寻各种有关html5的资料,把w3School中有关html5的教程通通过了一遍,发现里面的教程非常适合刚接触html5的人,作为菜鸟的我看了各种资料终于有所领会,作为游戏开发,其实就是通过JavaScript对html5 中Canvas画布进行各种处理,之后又在网上搜了一些有关html5 游戏Demo,其中有类似贪吃蛇,超级玛丽这样的,之后自己也尝试写了个Demo,是关于摇摆Rotate,伸长以及碰撞到物体检测。

先附上绳子摇摆rotate代码,过段时间再加上伸长和碰撞检测代码(在网上随便找了两张图片在代码下方):

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<canvas id="canvas"></canvas>
</body>
<script>
// 设置定时器用来控制旋转
var interval;
// 绳子摇摆的角度
var angle = 0;
// 接在绳子上钩子摇摆角度
var hookAngle = 0;
// 控制摇摆的变量
var i = 1;
var flag = 1;
// 获得画布
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
// 获得绳子图片
var line = new Image();
line.src = "line.png";
line.width = 100;
// 获得钩子图片
var hook = new Image();
hook.src = "laoshu.png"; // 定时器重复执行animate方法
function animate() {
lineRotate();
clearInterval(interval);
interval = setInterval("animate()", 50);
} // 绳子摇摆
function lineRotate(){
if (angle > Math.PI / 2) {
flag = -1;
} else if (angle < 0){
flag = 1;
}
if (flag == 1) {
i = 1;
} else {
i = -1;
}
angle += i*Math.PI / 180;
draw();
} //画图
function draw() {
context.clearRect(0,0,canvas.width, canvas.height);
context.translate(0,0);
context.save();
context.rotate(angle);
context.drawImage(line, 0 , 0, line.width, line.height);
context.save();
context.translate(line.width + hook.width / 2, hook.height / 2);
context.rotate(-angle);
context.drawImage(hook, -hook.width / 2, -hook.height / 2);
context.restore();
context.restore();
}
</script>
</html>
line.png:   
laoshu.png:

html5 画布上的rotate使用的更多相关文章

  1. 玩转html5(二)----用canvas结合脚本在画布上画简单的图(html5又一强大功能)

    在html5中可以使用canvas标签在画布上画图,先直接上代码,这篇文章先简单介绍一下canvas的使用方法,简单画几个圆,矩形,三角形,写字. 在代码中均给出了注释,在这里特别强调的一点是:使用c ...

  2. 有趣html5(两)----使用canvas结合剧本画在画布上的简单图(html5另一个强大)

    请珍惜劳动小编成果,这篇文章是原来小编,转载请注明出处. 于html5中能够使用canvas标签在画布上绘图,先直接上代码,这篇文章先简介一下canvas的用法.简单画几个圆,矩形,三角形,写字. 在 ...

  3. 哪个HTML5内建对象用于在画布上绘制?()

    哪个HTML5内建对象用于在画布上绘制?() getContent getContext getGraphics getCanvas 我的理解: A.C.D不存在HTML5,,js方法中 HTML 5 ...

  4. 06. Web大前端时代之:HTML5+CSS3入门系列~HTML5 画布

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 我们先看看画布的魅力: 初始画布 canvas默认是宽3 ...

  5. HTML5 画布参考

    描述 HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript). 不过,<canvas> 元素本身并没有绘制能力(它仅仅是图形的容器) - 您必 ...

  6. HTML5画布实现方法:

    我们可以在HTML中使用属性width和height来定义Canvas.但是实现Canvas的相关功能主要还依赖于Javascript实现,即HTML5 Canvas API.我们使用javascri ...

  7. HTML5画布Canvas

    一.Canvas概念介绍 1.概念 Canvas : 画布 2.作用 : HTML5 Canvas 元素用于图形的绘制, 通过脚本(通常是JavaScript)来完成.它本身只是个图形容器,必须使用脚 ...

  8. File控件选择图片的时候在Html5下马上预览

    页面HTML <div> <img src="@pic.Path" id="img" style="width:200px;heig ...

  9. html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器

    以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上 ...

随机推荐

  1. MyEclipse 点击 部署 按钮 无效的解决办法

    问题描述 1 通常情况下,当我们点击MyEclipse任务栏上的部署按钮时,会弹出项目部署框,如下图:   2 但我们有时也会遇到点击部署按钮怎么也弹不出项目部署框的问题. END 解决方法一: 1 ...

  2. JS版本网站资源状态检测

    Title:JS版本网站资源状态检测  --2012-08-28 14:08 前几天需要一个网站状态检测的东东,后面写了个蹩脚的JS版本,里面用到了以前没用过的东西,在这里记下来,其实批处理加curl ...

  3. spark1.1.0源码阅读-taskScheduler

    1. sparkContext中设置createTaskScheduler case "yarn-standalone" | "yarn-cluster" =& ...

  4. ViewConfiguration滑动参数设置类

    /** * 包含了方法和标准的常量用来设置UI的超时.大小和距离 */ public class ViewConfiguration { // 设定水平滚动条的宽度和垂直滚动条的高度,单位是像素px ...

  5. 【HDOJ】1500 Chopsticks

    DP. #include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm ...

  6. S-Nim

    http://acm.hdu.edu.cn/showproblem.php?pid=1536 SG经典题,不多说 // File Name: hdu1536.cpp // Author: bo_jwo ...

  7. 获取当前位置信息-ios

    locationManager= [[CLLocationManager alloc] init];//位置管理器 locationManager.desiredAccuracy = kCLLocat ...

  8. oracle触发器实例

    8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2.3 创建替代(INS ...

  9. Socket tips: UDP Echo service - Server code

    #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/soc ...

  10. 二、Solr安装(Tomcat)

    安装环境 Windows 7 64bit Apache-tomcat-8.0.9-windows-x64 Solr-4.9.0 JDK 1.8.0_05 64bit 安装步骤 Tomcat和JDk的安 ...