之前是玩过一段时间 processing 的,它就像一个 java 的一个库,很强大的一个库,可以做动画,处理图片,玩 3D 建模 and so on,当然我只是学了一点皮毛,是在学习 python,java 之前。

那今天看到一个新鲜的玩意:P5.js

像写 processing 一样写 javascript 动画

官网:http://p5js.org/

照着这做:

Get started :http://p5js.org/get-started/

先创建一个 html 文件,接着在此文件中引入 P5.js 库:

1
<script src="http://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.20/p5.js"></script>

然后,创建一个 sketch.js 文件,这样写:

1
2
3
4
5
6
7
function setup() {
}
function draw() {
ellipse(50, 50, 80, 80);
}

在 html 文件中引用这个 js 文件:

1
<script type="text/javascript" src="sketch.js"></script>

好了,用浏览器打开 html 文件就可以看到用 P5.js 在页面上画了个圆。
具体语法,要看一下这:https://github.com/processing/p5.js/wiki/Processing-transition
额,这个例子太简单了,也不会动啊!!!
好,自己写一个吧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var x = 15;
var y = 15;
var r = 30;
var speedX = 2.8;
var speedY = 5;
function setup() {
createCanvas(400, 300);
}
function draw() {
background(200);
fill(30, 144, 255);
noStroke();
move(width, height);
ellipse(x, y, r, r);
}
function move(width, height) {
x += speedX;
y += speedY;
if (x > width - 15) {
speedX *= -1;
x = width - 15;
};
if (y > height - 15) {
speedY *= -1;
y = height - 15;
};
if (x < 15) {
speedX *= -1;
x = 15;
};
if (y < 15) {
speedY *= -1;
y = 15;
};
}