1. 什么是 Two.js
Two.js 是一个轻量级的用于创建 2D 图形的 JavaScript 框架,它可以用于绘制矢量图像,纹理映射和动画等。使用 Two.js,可以轻松创建各种各样的有趣和漂亮的图形,而无需太多的编程经验。
1.1 开始使用 Two.js
为了开始使用 Two.js,你需要在项目中引入 Two.js 库。有两种方法可以做到这一点:
1. 直接下载 Two.js 库并引入
<script src="path/to/two.min.js"></script>
在项目中引入 Two.js 库文件后,你就可以开始创建印象深刻的 2D 图形了。下面我们来看一些基本的例子。
2. 创建基本图形
下面我们将使用 Two.js 创建一些基本的图形。这些图形包括:矩形,圆,线段和路径。
2.1 创建矩形
使用 Two.js 创建矩形十分简单。你只需要创建一个 Two.Rectangle 对象,并且指定它的位置、大小和填充颜色。
// 创建画布
var two = new Two({
fullscreen: true,
autostart: true
});
// 创建矩形
var rect = two.makeRectangle(two.width / 2, two.height / 2, 50, 50);
// 设置填充颜色
rect.fill = '#ff0000';
在上面的代码中,我们创建了一个画布,并且指定了它的大小。然后,我们使用 makeRectangle() 方法创建了一个矩形,并且设置了它的位置和大小。最后,我们通过设置 fill 属性,指定了矩形的填充颜色。
运行上面的代码,你将会看到一个红色的矩形居中显示在屏幕上。
2.2 创建圆形
和创建矩形一样,使用 Two.js 创建圆形十分简单。你只需要创建一个 Two.Circle 对象,并且指定它的位置、半径和填充颜色。
// 创建画布
var two = new Two({
fullscreen: true,
autostart: true
});
// 创建圆
var circle = two.makeCircle(two.width / 2, two.height / 2, 50);
// 设置填充颜色
circle.fill = '#ff0000';
在上面的代码中,我们创建了一个画布,并且指定了它的大小。然后,我们使用 makeCircle() 方法创建了一个圆,并且设置了它的位置和半径。最后,我们通过设置 fill 属性,指定了圆的填充颜色。
运行上面的代码,你将会看到一个红色的圆形居中显示在屏幕上。
2.3 创建线段
使用 Two.js 创建线段同样十分简单。你只需要创建一个 Two.Line 对象,并且指定它的开始点、结束点和线宽。
// 创建画布
var two = new Two({
fullscreen: true,
autostart: true
});
// 创建线段
var line = two.makeLine(100, two.height / 2, two.width - 100, two.height / 2);
// 设置线宽
line.linewidth = 5;
在上面的代码中,我们创建了一个画布,并且指定了它的大小。然后,我们使用 makeLine() 方法创建了一条线段,并且指定了它的开始点、结束点和线宽。
运行上面的代码,你将会看到一条宽度为5的水平线段显示在屏幕中央。
2.4 创建路径
使用 Two.js 创建路径同样十分简单。你只需要创建一个 Two.Path 对象,并且指定它的路径数据和填充颜色。
// 创建画布
var two = new Two({
fullscreen: true,
autostart: true
});
// 创建路径
var path = two.makePath(50, 50, 150, 50, 100, 150, 'closed');
// 设置填充颜色
path.fill = '#ff0000';
在上面的代码中,我们创建了一个画布,并且指定了它的大小。然后,我们使用 makePath() 方法创建了一个路径,并且指定了它的数据点以及是否封闭。最后,我们通过设置 fill 属性,指定了路径的填充颜色。
运行上面的代码,你将会看到一个红色的三角形显示在屏幕上。
3. 展示动画效果
通过 Two.js 创建的图形可以使用动画效果来增加可玩性。使用 Two.js 创建动画效果同样也十分简单。下面我们将通过一些例子来学习如何实现。
3.1 矩形平移动画
下面的例子演示了如何在屏幕内平移一个矩形。
// 创建画布
var two = new Two({
fullscreen: true,
autostart: true
});
// 创建矩形
var rect = two.makeRectangle(100, two.height / 2, 50, 50);
// 设置填充颜色
rect.fill = '#ff0000';
// 创建动画
two.bind('update', function(frameCount) {
rect.translation.x += 1;
// 矩形平移出屏幕右侧时,将其移动到屏幕左侧
if (rect.translation.x > two.width + 25) {
rect.translation.x = -25;
}
});
在上面的代码中,我们创建了一个画布,并且指定了它的大小。然后,我们使用 makeRectangle() 方法创建了一个矩形,并且设置了它的位置和大小和填充颜色。最后,我们使用 bind() 方法,在画布上绑定了一个 update 事件,每当画布更新时,将自动执行其中的回调函数。
在 update 事件的回调函数中,我们将矩形的 x 坐标轻微移动,并检查矩形是否已经移动越过屏幕右侧。如果是,则将矩形移动至屏幕左侧以实现平移效果。
运行上面的代码,你将会看到一个红色的矩形在屏幕内平移。
3.2 圆形旋转动画
下面的例子演示了如何在动画中旋转一个圆形。
// 创建画布
var two = new Two({
fullscreen: true,
autostart: true
});
// 创建圆
var circle = two.makeCircle(two.width / 2, two.height / 2, 50);
// 设置填充颜色
circle.fill = '#ff0000';
// 创建动画
two.bind('update', function(frameCount) {
circle.rotation += 0.05;
});
在上面的代码中,我们创建了一个画布,并且指定了它的大小。然后,我们使用 makeCircle() 方法创建了一个圆形,并且设置了它的位置、半径和填充颜色。最后,我们使用 bind() 方法,在画布上绑定了一个 update 事件,每当画布更新时,将自动执行其中的回调函数。
在 update 事件的回调函数中,我们将圆形的 rotation 属性增加一个小的值以实现旋转效果。
运行上面的代码,你将会看到一个红色的圆形在屏幕中心旋转。
4. 总结
到此为止,本篇文章已经介绍了如何使用 Two.js 创建 2D 图形和动画效果。如果你想更深入学习 Two.js 的使用方法,请参考它的官方文档。