⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compositeobjects.pde

📁 This is processing for java examples.
💻 PDE
字号:
/** * Composite Objects *  * An object can include several other objects. Creating such composite objects  * is a good way to use the principles of modularity and build higher levels of  * abstraction within a program. */EggRing er1, er2;void setup() {  size(200, 200);  smooth();  er1 = new EggRing(66, 132, 0.1, 66);  er2 = new EggRing(132, 180, 0.05, 132);}void draw() {  background(0);  er1.transmit();  er2.transmit();}class EggRing {  Egg ovoid;  Ring circle = new Ring();  EggRing(int x, int y, float t, float sp) {    ovoid = new Egg(x, y, t, sp);    circle.start(x, y - sp/2);  }  void transmit() {    ovoid.wobble();    ovoid.display();    circle.grow();    circle.display();    if (circle.on == false) {      circle.on = true;    }  }}class Egg {  float x, y; // X-coordinate, y-coordinate  float tilt; // Left and right angle offset  float angle; // Used to define the tilt  float scalar; // Height of the egg  // Constructor  Egg(int xpos, int ypos, float t, float s) {    x = xpos;    y = ypos;    tilt = t;    scalar = s / 100.0;  }  void wobble() {    tilt = cos(angle) / 8;    angle += 0.1;  }  void display() {    noStroke();    fill(255);    pushMatrix();    translate(x, y);    rotate(tilt);    scale(scalar);    beginShape();    vertex(0, -100);    bezierVertex(25, -100, 40, -65, 40, -40);    bezierVertex(40, -15, 25, 0, 0, 0);    bezierVertex(-25, 0, -40, -15, -40, -40);    bezierVertex(-40, -65, -25, -100, 0, -100);    endShape();    popMatrix();  }}class Ring {  float x, y; // X-coordinate, y-coordinate  float diameter; // Diameter of the ring  boolean on = false; // Turns the display on and off  void start(float xpos, float ypos) {    x = xpos;    y = ypos;    on = true;    diameter = 1;  }  void grow() {    if (on == true) {      diameter += 0.5;      if (diameter > width*2) {        diameter = 0.0;      }    }  }  void display() {    if (on == true) {      noFill();      strokeWeight(4);      stroke(155, 153);      ellipse(x, y, diameter, diameter);    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -