header

 

 

 

 

 

 

 

 

 

 

tuinman

tekst in text bestanden en scrolling tekst.

 

Mover textScroller; 
Mover m1; Mover m2; Mover m3; Mover m4; Mover m5; Mover m6; Mover m7; Mover m8; Mover m9; 
Mover m10; Mover m11; Mover m12; Mover m13; Mover m14; 
Mover lijn1; Mover lijn2; Mover lijn3; Mover lijn4; Mover lijn5; 
void setup() { 
// Door P2D of P3D toe te voegen beweegt de tekst minder schokkerig ! 
// Bij fullScreen bevindt de text ingesteld op height zich net onder de onderrand van het scherm
// Bij fonts met verschillende grootte kloppen de waarde van sw niet meer 
// kleine verschillen in sw (stringwidth), bij dezelfde lengte van de string,
//veroorzaken een verschuiving van de tekstlijnen  
  fullScreen(P3D); 
  m1 = new Mover(0, height-280, 1.5, color(255, 0, 0), createFont("Asea", 30, true)); 
  m2 = new Mover(1, height-260, 1.4, color(255), createFont("Asea", 30, true)); 
  m3 = new Mover(2, height-240, 1.3, color(255), createFont("Asea", 30, true)); 
  m4 = new Mover(3, height-220, 1.2, color(255), createFont("Asea", 30, true)); 
  m5 = new Mover(4, height-200, 1.1, color(0, 255, 0), createFont("Asea", 30, true)); 
  m6 = new Mover(5, height-180, 1, color(255), createFont("Asea", 30, true)); 
  m7 = new Mover(6, height-160, 0.9, color(255), createFont("Asea", 30, true)); 
  m8 = new Mover(7, height-140, 0.8, color(255), createFont("Asea", 30, true)); 
  m9 = new Mover(8, height-120, 0.7, color(255), createFont("Asea", 30, true)); 
  m10 = new Mover(9, height-100, 0.6, color(255), createFont("Asea", 30, true)); 
  m11 = new Mover(10, height-80, 0.5, color(255), createFont("Asea", 30, true)); 
  m12 = new Mover(11, height-60, 0.4, color(255), createFont("Asea", 30, true)); 
 
  lijn1 = new Mover(12, 50, 1, color(255, 0, 0), createFont("Asea", 30, true)); 
  lijn2 = new Mover(13, 50, 0.8, color(255), createFont("Asea", 30, true)); 
  lijn3 = new Mover(14, 50, 0.6, color(255), createFont("Asea", 30, true)); 
  lijn4 = new Mover(15, 50, 0.4, color(255), createFont("Asea", 30, true)); 
   textScroller = new Mover(createFont("Asea", 30, true)); 
} 
void draw() { 
  background(0); 
 
  pushMatrix(); 
  textScroller.displayScrollingText(); 
  popMatrix(); 
 
  pushMatrix(); 
  m1.rechthoek(); 
  m1.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m2.rechthoek(); 
  m2.display(); 
  popMatrix();  
 
  pushMatrix(); 
  m3.rechthoek(); 
  m3.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m4.rechthoek(); 
  m4.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m5.rechthoek(); 
  m5.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m6.rechthoek(); 
  m6.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m7.rechthoek(); 
  m7.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m8.rechthoek(); 
  m8.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m9.rechthoek(); 
  m9.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m10.rechthoek(); 
  m10.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m11.rechthoek(); 
  m11.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  m12.rechthoek(); 
  m12.display(); 
  popMatrix(); 
 
 
  pushMatrix(); 
  lijn1.lijn(); 
  lijn1.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  lijn2.lijn(); 
  lijn2.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  lijn3.lijn(); 
  lijn3.display(); 
  popMatrix(); 
 
  pushMatrix(); 
  lijn4.lijn(); 
  lijn4.display(); 
  popMatrix(); 
}


 
 
 


 
class Mover {  
 PFont f;  
 String txt; 
 int index; PFont fs; 
 String[] lines; String[] lines2; 
 float sw;  
 float x; float y;  
 float snelh; color c; 
 float teller; float teller2; float r; 

 
Mover(int index_, float y_, float snelh_, color c_, PFont f_) {  
 index = index_;  
 y = y_;  
 snelh = snelh_;  
 c = c_;  
 f = f_; 
 lines = loadStrings("tuinman.txt"); 
 } 
  
 Mover(PFont fs_) { 
 fs = fs_; 
 lines2 = loadStrings("tuinman2.txt"); 
 txt = join(lines2,'\n'); 
 } 
  
 void rechthoek() {  
 sw = textWidth(lines[index]);  
 teller = teller + snelh;  
 //1) X richting  
 if ((teller >=0 ) && (teller < width/3)) translate(teller, 0);  
 //2) y richting  
 if ((teller >= height/1.6875) && (teller < height/0.7941)) translate(width/3, -(teller-height/1.6875));  
 //3) x richting  
 if ((teller >= width/1.41176) && (teller < width/0.96+sw)) translate(teller-width/2.666, -height/1.5);  
 //4) y richting  
 if ((teller >= height/0.54+sw) && (teller < height/0.397+sw)) translate(width/1.5+sw, -height/0.397-sw+teller); 
 //5) Actie: beweging in x richting naar eindpunt x = 960.  
 // Beginpunt x is de x waarde in vorige translate(x,y); = 640+sw  
 // eindpunt y is beginpunt y in de eerste stap y = 0,  
 // Instellingen teller:  
 // 1) Beginstand teller = vorige eindstand teller = 1360+sw  
 // Aantal tellen = 320-sw  
 // 2) Eindstand teller = beginstand teller + aantal tellen = 1360+sw+320-sw = 1680  
 // Instellingen van translate(x,y)  
 // x = teller-(eindstand teller - eindpunt x) = teller - (1680-960)  
 // x = teller- 720  
 // y = eindpunt y eerste stap = 0  
 if ((teller > width/0.70588+sw) && (teller < width/0.5714+sw)) translate(teller-width/1.3333, 0); 
 //sw wordt bij de eindstand teller opgeteld zodat de text uit het beeld kan lopen  
 if (teller >= width/0.5714+sw) teller = 0; 
 } 
 void lijn() {  
 sw = textWidth(lines[index]);  
 teller2 = teller2 + snelh;  
 // X richting  
 if ((teller2 >=0 ) && (teller2 < width+sw)) translate(teller2, 0);  
 if (teller2 >= width+sw) teller2 = 0; 
 } 
  
 void display() {  
 textAlign(RIGHT);  
 textFont(f);  
 fill(c);  
 text(lines[index], x, y); 
 } 
  
 void displayScrollingText() { 
 translate(width/2, height); 
 rotateX(PI/4); 
 fill(200,100,80); 
 textFont(fs); 
 textAlign(CENTER); 
 text(txt, 0, y); 
 y--; 
 if (y < -2*height) y = 0; 
 } 
}