使用 Two.js 创建 2D 图形入门:初学者指南

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 的使用方法,请参考它的官方文档。