We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
IndexProgramming Questions & HelpPrograms › "Highlighting" Font trouble
Page Index Toggle Pages: 1
"Highlighting" Font trouble (Read 321 times)
"Highlighting" Font trouble
Mar 19th, 2010, 6:21am
 
Hi guys. I've almost got my assignment wrapped up, but I've hit a speed bump. In the code below (it's a doozy because, silly me, I created my own function instead of a class or object), I want the words "Good Night!" to "highlight" (they actually expand in a different color than the original) in order, but from the sample code I got, the letters "highlight" randomly, and I can't figure out how to fix that. Any thoughts?

Also, I wanted to include a series of three staggered, descending z's, like when someone's asleep in a cartoon. But I also wanted to highlight those as well (even though I don't even know how to stagger them). Help is appreciated!  Thanks!

//Poster (Hwk #9)
//Displays a poster with animated lettering.
//By Ashley Lau
// 3/18/2010

int margin_left=150;
int margin_top=100;
int gap=50;
String s="Good Night!";
PFont freesia;

void setup(){
 size(800,600);
 smooth();
 freesia=loadFont("FreesiaUPCBold-48.vlw");
 textFont(freesia,64);
 text("Good Night!");
}

void draw(){
 background(34,37,100);
 
 //Draw font
 int i;
//Pick Character randomly <--CHANGE TO HIGHLIGHTING IN ORDER
int bigChar=(int)random(s.length());
for(i=0;i<s.length();i++){
 char letter =s.charAt(i);
 //Basic location
 int xloc=margin_left+i*gap;
 if(i==bigChar){
   pushMatrix();
   translate(xloc,margin_top);
   scale(1.7);
   //Draw letter to screen
   fill(206,197,6);
   text(letter,0,0);
   popMatrix();
 }
   else{
     fill(0); //<--Supposed to fill(34,37,100), but (0) for visibility
     text(letter,xloc,margin_top);
   }
}
 //Draw "snowflake" wallpaper
 fill(255);
 noStroke();
 smooth();
 for(int y=-50; y<=600; y+=45){
   for (int x=-50; x<=800; x+=20){
     ellipse(x+random(20,60), y+random(20,60),5,5);
     frameRate(3.5);
   }
 }

//Draw snow
drawSnow();

//Draw polar bear
drawPolarBear();
}

void drawSnow(){
 strokeWeight(2.5);
 stroke(210,211,245);
 fill(229,230,252);
 arc(width/2,600,1200,425,PI, 2*PI);
}


//Polar bear function
void drawPolarBear(){
 
 //draw tail
 pushMatrix();
 translate(width/2, height/2);
 strokeWeight(4);
 stroke(210,211,222);
 fill(255);
 ellipse(-18,40,35,32);
 popMatrix();
 
 //draw body
 pushMatrix();
 translate(width/2,height/2);
 rotate(PI/20);
 ellipse(55,85,160,120);
 popMatrix();
 
 //draw "behind" paw
 pushMatrix();
 translate(width/2,height/2);
 rotate(-PI/10);
 ellipse(100,185,40,70);
 popMatrix();
 
//Draw "back" ear
 pushMatrix();
 translate(width/2,height/2);
 ellipse(170,100,40,35);
 popMatrix();
 
  //draw "front" ear
 pushMatrix();
 translate(width/2,height/2);
 rotate(-PI/20);
 ellipse(95,75,40,35);
 popMatrix();
 
 //draw head
 pushMatrix();
 translate(width/2,height/2);
 rotate(PI/8);
 ellipse(150,60,110,95);
 popMatrix();
 
 //draw face
 pushMatrix();
 translate(width/2,height/2);
 stroke(0);
 strokeWeight(2);
 fill(0);
 line(100,100,115,108);
 line(140,120,152,127.5);
 //draw nose
 triangle(115,120,122,130,130,128);
 popMatrix();
 
 //draw "front" paw
 pushMatrix();
 translate(width/2,height/2);
 strokeWeight(4);
 stroke(210,211,222);
 fill(255);
 rotate(PI/8);
 ellipse(150,113,90,43);
 popMatrix();
 
 //draw "front" back leg
 pushMatrix();
 translate(width/2,height/2);
 rotate(PI/3);
 ellipse(105,75,100,65);
 popMatrix();
}
Page Index Toggle Pages: 1