`
pnhuang
  • 浏览: 4904 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类

HTML5 Canvas API 学习笔记(二)

阅读更多
离上一篇Canvas学习笔记已由两个月之久,由于工作太忙,所以吧HTML5的学习也放了放。由于过两天要参加一个HTML5游戏开发的活动,为了多了解一点Canvas,今天又研究了一下Canvas的两个方法,文章水平属于初学者,如果哪里说的不对,欢迎大家指出。

今天总结的两个方法,分别是translate()和rotate()。这两个方法也比较简单,就简单总结下好了。

首先是translate(x, y)方法,即将Canvas原点分别向水平方向和垂直方向分别平移x, y,成为新的原点。初始原点的位置是在Canvas的左上角。

然后是rotate(arc)方法,即将Canvs中的对象绕着原点位置旋转arc弧度,如果要旋转5°,可以将arc设置为 5*Math.PI/180 即可。

这两个方法都比较简单,所以也做了一个简单的demo,就是做一个自己旋转的轮子。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Wheel</title>
</head>
<body>
	<canvas id="canvas" width="200" height="200"></canvas>
	<script type="text/javascript">
		(function () {
			var canvas = document.getElementById("canvas"),
				context2D = canvas.getContext("2d"),
				FPS = 20,
				HALFWIDTH = canvas.width / 2,
				HALFHEIGHT = canvas.height / 2,
				PI = Math.PI,
				init,
				draw;

			init = function () {
				context2D.translate(HALFWIDTH, HALFHEIGHT);
				window.setInterval(function () {
					context2D.clearRect(0, 0, canvas.width, canvas.height);
					context2D.rotate(5 * PI / 180);
					draw();
				}, 1000 / FPS);
			};
			draw = function () {
				context2D.beginPath();
				context2D.arc(0, 0, 50, 0, 2 * PI);
				context2D.fillStyle = "yellow";
				context2D.fill();
				context2D.closePath();
				context2D.beginPath();
				context2D.moveTo(0, -50);
				context2D.lineTo(0, 50);
				context2D.strokeStyle = "red";
				context2D.stroke();
				context2D.closePath();
				context2D.beginPath();
				context2D.moveTo(-50, 0);
				context2D.lineTo(50, 0);
				context2D.strokeStyle = "red";
				context2D.stroke();
				context2D.closePath();
			};
			window.onload = init;
		})();
	</script>
</body>
</html>
分享到:
评论

相关推荐

    HTML5 Canvas学习笔记(1)处理鼠标事件

    这篇“HTML5 Canvas学习笔记(1)处理鼠标事件”着重讲解了如何利用Canvas API来监听和响应鼠标的点击、移动等事件。 Canvas API提供了几个关键的方法来处理鼠标事件,包括`addEventListener`用于绑定事件处理函数,`...

    HTML5 Canvas学习笔记(5)游戏得分动画

    这篇“HTML5 Canvas学习笔记(5)游戏得分动画”着重讲解了如何利用Canvas技术来实现游戏中的得分动画效果。通过学习这篇笔记,我们可以深入了解Canvas的基本用法以及如何将它应用于游戏开发。 首先,Canvas是HTML5的...

    canvas学习之API整理笔记(二)

    在本文中,我们将深入探讨HTML5的canvas API,特别是高级动画、像素操作和性能优化这三个核心主题。canvas作为Web开发中的一个强大工具,允许开发者直接在网页上进行图形绘制和动画制作。 首先,我们来看看高级动画...

    HTML5 Canvas学习笔记(7)俄罗斯方块游戏之一(色块)

    这篇“HTML5 Canvas学习笔记(7)俄罗斯方块游戏之一(色块)”着重介绍了如何利用Canvas构建经典游戏——俄罗斯方块的基础部分,即色块的绘制与移动。 首先,我们要理解HTML5 Canvas的基本结构。它是一个二维绘图...

    HTML5 Canvas学习笔记(3)加载游戏/动画音乐

    在“HTML5 Canvas学习笔记(3)加载游戏/动画音乐”这个主题中,我们将深入探讨如何利用Canvas API来加载和播放音频资源,这对于创建交互式游戏和动画至关重要。 1. HTML5 Audio API HTML5提供了Audio元素,它是网页...

    HTML5 Canvas学习笔记(9)俄罗斯方块游戏之三(游戏面板)

    这篇“HTML5 Canvas学习笔记(9)俄罗斯方块游戏之三(游戏面板)”深入探讨了如何利用Canvas技术构建一个经典的游戏——俄罗斯方块。 在HTML5 Canvas上构建俄罗斯方块游戏,首先需要理解Canvas的基本结构和绘图API。...

    HTML5 Canvas学习笔记(8)俄罗斯方块游戏之二(方块)

    这篇“HTML5 Canvas学习笔记(8)俄罗斯方块游戏之二(方块)”主要探讨了如何利用Canvas来实现经典游戏——俄罗斯方块的方块部分。我们将深入探讨相关知识点,包括Canvas基本操作、事件处理、动画原理以及游戏逻辑。 ...

    《HTML5 Canvas学习笔记(10)》数钱数到手抽筋

    这篇名为“HTML5 Canvas学习笔记(10) - 数钱数到手抽筋”的博客文章,很可能是讲解如何使用Canvas来模拟数钱动画或游戏的教程。在Canvas中实现这样的功能,需要掌握以下几个关键知识点: 1. **Canvas基本概念**:...

    HTML5 Canvas学习笔记(6)拼图游戏(数字版)

    在“HTML5 Canvas学习笔记(6)拼图游戏(数字版)”这篇博文中,作者分享了如何利用Canvas构建一个数字拼图游戏。下面我们将详细探讨这个知识点。 1. **HTML5 Canvas基础**: - Canvas是一个基于矢量图形的画布元素...

    HTML5高级程序设计学习笔记

    ### HTML5高级程序设计学习笔记 #### 一、HTML5新增结构标签 在HTML5中,为了更好地组织页面内容并增强语义性,引入了一系列新的结构标签,这些标签不仅能够帮助开发者更清晰地定义页面的不同部分,同时也为搜索...

    html5 canvas米字格式手写文字练习代码.zip

    这个“html5 canvas米字格式手写文字练习代码”压缩包提供了一个实例,可以帮助学习者更好地理解和掌握Canvas API的用法,特别是关于文字绘制的部分。 在HTML5中,Canvas是一个二维绘图上下文,通过JavaScript来...

    h5前端学习笔记

    【标题】"h5前端学习笔记"所涵盖的知识点主要集中在HTML5技术及其在前端开发中的应用。HTML5是超文本标记语言的最新版本,它引入了许多新的元素、API和特性,极大地增强了网页的交互性、可访问性和可用性。 【描述...

    HTML5 Canvas樱花树木特效.zip

    通过学习和理解这个特效的实现,开发者可以深入掌握HTML5 Canvas的用法,并能将其应用到其他类型的动画设计中,提升网页的互动性和吸引力。同时,也可以借鉴其结构和逻辑,为自己的项目提供灵感和解决方案。

    基于HTML5 Canvas和Rebound动画的Loading加载动画特效

    开发者可以深入研究这些代码,学习如何将HTML5 Canvas与Rebound库整合,以创建自己的动态加载效果。 此外,'fonts'目录可能包含了用于加载动画的特殊字体文件,使加载信息更具设计感。'css'目录则可能包含了样式表...

    HTML5学习笔记

    HTML5的Canvas API提供了丰富的绘图方法,如`fillRect()`、`strokeRect()`、`moveTo()`、`lineTo()`等,可以用来创建复杂的图形、动画甚至是游戏。Canvas是基于2D渲染上下文,可以通过`getContext("2d")`获取。 4. ...

    bootstrap学习笔记-html5

    这个“bootstrap学习笔记-html5”压缩包文件显然包含了有关如何使用Bootstrap和HTML5进行网页设计的资料,非常适合初学者入门。接下来,我们将深入探讨这两个重要主题。 HTML5(超文本标记语言第五版)是网页开发的...

    html5 canvas全屏彩带飘动背景动画特效.zip

    通过理解和修改`index.html`和`ribbon.js`中的代码,你可以学习到Canvas API的基本用法,并且掌握如何用JavaScript实现复杂的动画效果。这个项目不仅对提升前端技能有所帮助,也是创新网页设计的一个有趣实践。

    HTML5+Canvas打开红包获得流量动画代码.zip

    综上所述,这个项目涉及了HTML5的基础结构、Canvas的图形绘制、jQuery的事件处理和动画效果,以及CSS的样式设计,是一个很好的学习和实践这些技术的例子。对于开发者来说,不仅可以从中获取实际的代码实现,还可以...

    HTML5 canvas趣味飞船捡金币小游戏

    游戏的设计利用了HTML5的Canvas API,通过JavaScript进行编程,创建了一个简单但引人入胜的用户体验。 首先,`index.html`是游戏的主要入口文件,其中包含了游戏的基本结构,包括HTML元素的布局以及Canvas元素的...

Global site tag (gtag.js) - Google Analytics