离上一篇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)处理鼠标事件”着重讲解了如何利用Canvas API来监听和响应鼠标的点击、移动等事件。 Canvas API提供了几个关键的方法来处理鼠标事件,包括`addEventListener`用于绑定事件处理函数,`...
这篇“HTML5 Canvas学习笔记(5)游戏得分动画”着重讲解了如何利用Canvas技术来实现游戏中的得分动画效果。通过学习这篇笔记,我们可以深入了解Canvas的基本用法以及如何将它应用于游戏开发。 首先,Canvas是HTML5的...
在本文中,我们将深入探讨HTML5的canvas API,特别是高级动画、像素操作和性能优化这三个核心主题。canvas作为Web开发中的一个强大工具,允许开发者直接在网页上进行图形绘制和动画制作。 首先,我们来看看高级动画...
这篇“HTML5 Canvas学习笔记(7)俄罗斯方块游戏之一(色块)”着重介绍了如何利用Canvas构建经典游戏——俄罗斯方块的基础部分,即色块的绘制与移动。 首先,我们要理解HTML5 Canvas的基本结构。它是一个二维绘图...
在“HTML5 Canvas学习笔记(3)加载游戏/动画音乐”这个主题中,我们将深入探讨如何利用Canvas API来加载和播放音频资源,这对于创建交互式游戏和动画至关重要。 1. HTML5 Audio API HTML5提供了Audio元素,它是网页...
这篇“HTML5 Canvas学习笔记(9)俄罗斯方块游戏之三(游戏面板)”深入探讨了如何利用Canvas技术构建一个经典的游戏——俄罗斯方块。 在HTML5 Canvas上构建俄罗斯方块游戏,首先需要理解Canvas的基本结构和绘图API。...
这篇“HTML5 Canvas学习笔记(8)俄罗斯方块游戏之二(方块)”主要探讨了如何利用Canvas来实现经典游戏——俄罗斯方块的方块部分。我们将深入探讨相关知识点,包括Canvas基本操作、事件处理、动画原理以及游戏逻辑。 ...
这篇名为“HTML5 Canvas学习笔记(10) - 数钱数到手抽筋”的博客文章,很可能是讲解如何使用Canvas来模拟数钱动画或游戏的教程。在Canvas中实现这样的功能,需要掌握以下几个关键知识点: 1. **Canvas基本概念**:...
在“HTML5 Canvas学习笔记(6)拼图游戏(数字版)”这篇博文中,作者分享了如何利用Canvas构建一个数字拼图游戏。下面我们将详细探讨这个知识点。 1. **HTML5 Canvas基础**: - Canvas是一个基于矢量图形的画布元素...
### HTML5高级程序设计学习笔记 #### 一、HTML5新增结构标签 在HTML5中,为了更好地组织页面内容并增强语义性,引入了一系列新的结构标签,这些标签不仅能够帮助开发者更清晰地定义页面的不同部分,同时也为搜索...
这个“html5 canvas米字格式手写文字练习代码”压缩包提供了一个实例,可以帮助学习者更好地理解和掌握Canvas API的用法,特别是关于文字绘制的部分。 在HTML5中,Canvas是一个二维绘图上下文,通过JavaScript来...
【标题】"h5前端学习笔记"所涵盖的知识点主要集中在HTML5技术及其在前端开发中的应用。HTML5是超文本标记语言的最新版本,它引入了许多新的元素、API和特性,极大地增强了网页的交互性、可访问性和可用性。 【描述...
通过学习和理解这个特效的实现,开发者可以深入掌握HTML5 Canvas的用法,并能将其应用到其他类型的动画设计中,提升网页的互动性和吸引力。同时,也可以借鉴其结构和逻辑,为自己的项目提供灵感和解决方案。
开发者可以深入研究这些代码,学习如何将HTML5 Canvas与Rebound库整合,以创建自己的动态加载效果。 此外,'fonts'目录可能包含了用于加载动画的特殊字体文件,使加载信息更具设计感。'css'目录则可能包含了样式表...
HTML5的Canvas API提供了丰富的绘图方法,如`fillRect()`、`strokeRect()`、`moveTo()`、`lineTo()`等,可以用来创建复杂的图形、动画甚至是游戏。Canvas是基于2D渲染上下文,可以通过`getContext("2d")`获取。 4. ...
这个“bootstrap学习笔记-html5”压缩包文件显然包含了有关如何使用Bootstrap和HTML5进行网页设计的资料,非常适合初学者入门。接下来,我们将深入探讨这两个重要主题。 HTML5(超文本标记语言第五版)是网页开发的...
通过理解和修改`index.html`和`ribbon.js`中的代码,你可以学习到Canvas API的基本用法,并且掌握如何用JavaScript实现复杂的动画效果。这个项目不仅对提升前端技能有所帮助,也是创新网页设计的一个有趣实践。
综上所述,这个项目涉及了HTML5的基础结构、Canvas的图形绘制、jQuery的事件处理和动画效果,以及CSS的样式设计,是一个很好的学习和实践这些技术的例子。对于开发者来说,不仅可以从中获取实际的代码实现,还可以...
游戏的设计利用了HTML5的Canvas API,通过JavaScript进行编程,创建了一个简单但引人入胜的用户体验。 首先,`index.html`是游戏的主要入口文件,其中包含了游戏的基本结构,包括HTML元素的布局以及Canvas元素的...