绘制圆形、矩形
rect(x, y, width, height)通过指定绘制起点和宽高来画出矩形,当宽和高一致时即会绘制正方形,实际上系统也内置有 square()函数用于画正方形。此外 rect()默认从左上角开始绘制,可通过 rectMode()来进行修改。
ellipse(x, y, width, height)通过指定绘制起点和宽高来画出圆形,当宽和高一致时即会绘制出正圆,系统也内置有 circle()用于绘制正圆。ellipse()默认从中心点开始绘制,同样可通过 ellipseMode()函数来进行调整。
为方便颜色的选择,Processing 编辑器提供有颜色拾取器,位于Tools > Color Selector…
1 2 3 4 5 6 7 8 9 10 11 12 13 |
size(400, 400); background(#C0E1EA); rectMode(CENTER); // 矩形默认从左上角开始绘制,此处修改中从中间绘制 stroke(#FFBC03); fill(#B6FF00); //rect(x, y, width, height); rect(200, 200, 150, 150); strokeWeight(3); fill(#3AA511); //ellipse(x, y, width, height); ellipse(200, 200, 150, 150); |
绘制圆圈动画
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
float circle_x = 0; void setup() { size(400, 400); noStroke(); fill(#C1FF3E); } void draw() { background(#1BB1F5); ellipse(circle_x, 50, 50, 50); circle_x = circle_x + 1; } |
其中的 noStroke()表示所绘制的图形无边框。
面向对象编程
面向对象编将代码组织为对象,包含成员变量和成员方法。这种编程方式使数据和对数据的操作形成了强关联。使用关键字 class 来进行类的定义,类名通常首字母大写,通过使用关键字 new 来将类实例化对象。
Java 代码对于大小写是敏感的,比如内置函数 background()如果写成了 Background()则会产生报错
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 |
Diagonals da, db; void setup(){ size(100, 100); da = new Diagonals(0, 80, 1, 2, 0); // 对象,类的实例化 db = new Diagonals(0, 55, 2, 6, 255); } void draw(){ background(204); da.update(); db.update(); } class Diagonals { int x, y, speed, thick, gray; // 构造函数,用于对变量进行初始化 Diagonals(int xpos, int ypos, int s, int t, int g){ x = xpos; y = ypos; speed = s; thick = t; gray = g; } // 类中的函数一般称为方法(method) void update(){ strokeWeight(thick); stroke(gray); line(x, y, x+20, y-40); line(x+10, y, x+30, y-40); line(x+20, y, x+40, y-40); x = x + speed; if(x > 100) { x = -100; } } } |