静态函数和非静态函数

书名:代码本色:用编程模拟自然系统
作者:Daniel Shiffman
译者:周晗彬
ISBN:978-7-115-36947-5
目录

1.9 静态函数和非静态函数

一、静态函数

  • 为了将两个PVector对象相加并返回一个新的PVector对象,我们必须用静态的add()函数。
  • 通过类名直接调用的函数(而不是通过对象实例调用)称为静态函数。
PVector.add(v,u); 静态函数:通过类名调用
v.add(u); 非静态函数:通过对象实例调用

二、特点

  和非静态函数相比,静态函数有以下特点:

  • 函数被声明为static;
  • 函数的返回类型不是void,而是一个PVector对象;
  • 函数中会创建一个新的PVector对象(v3),它作为v1向量和v2向量相加的结
    果被返回。
  • 调用静态函数不需要引用实例对象,只需用类名直接调用:

三、其他静态函数

  PVector类还提供了静态版本的

  • add()、
  • sub()、
  • mult()和
  • div()函数。

1、stroke()函数

stroke()可以接受的参数的个数为1,2,3。

  • 当参数的个数为一个的时候,颜色值为灰度值(gray value),
  • 两个参数时,非别为灰度值和透明值,
  • 3个参数时为RGB

2、水波纹

float time = 0;
 
void setup() {
  size(200, 200);
}
 
void draw() {
  background(255);
  
  float x = 0;
 
  while (x < width) {
    stroke(0, 150,  150);
    line(x, 100 + 50 * noise(x / 100, time), x, height);
    x = x + 1;
  }
  
  time = time + 0.02;
}
水波纹

你可能感兴趣的:(静态函数和非静态函数)