使文本在处理中出现并消失

问题描述:

所以,我想知道是否有办法让文本出现,然后消失,因为它被替换为不同的文本。我目前发现了一个代码,可以让我逐一缓慢地显示文本,但是我不知道代码能让我在新文本出现时摆脱先前的文本。请帮帮我!要做到这一点使文本在处理中出现并消失

// creates the window with white background 
import ddf.minim.*; 

Minim minim; 
AudioSnippet snip; 
color c1 = color(0,0,0), c2 = color(0,0,0), current; 

void setup(){ 
    size(1200, 800); 
    current = c1; 
    smooth(); 
    minim = new Minim(this); 
    snip = minim.loadSnippet("LoudGun.mp3"); 
} 

void mousePressed() { 
    snip.play(); 
if(current==c1) { current = c2; } else { current = c1; } 
} 

// draw "Charlotte" 
void CharlotteBacon() { 
    frameRate(5); 
    fill(255); 
    textSize(50); 
    text("Charlotte Bacon, Age 6", 600, 275); 
} 

// draw "Daniel" 
void DanielBarden() { 
    frameRate(5); 
    fill(255); 
    textSize(50); 
    text("Daniel Barden, Age 7", 20, 50); 
} 

int col = 0; 
// main method where all above methods are executed on the white window 
void draw() { 
    background(current); 
    if(mouseX != pmouseX && mouseY != pmouseY){ 

    } 
    if (mousePressed) { 

    } 
    // each phrase is printed at intervals of 2 seconds 
    if (mouseX == pmouseX && mouseY == pmouseY && mousePressed != true) { 
    ; 
    int currentTime = millis(); 
    int timeLapse = 2000; 
    if (currentTime > timeLapse) { 
     CharlotteBacon(); 
    } 
    if (currentTime > timeLapse*2) { 
     DanielBarden(); 
    } 
    } 
} 

的方法之一是必须持有显示的文本字符串,并分配给它,你要显示的文字,所以它会取代它。 我做了一个例子,根据你的代码的时间。

String oneName = "Carol"; 
String otherName = "Chartllote"; 
String displayed =""; 

int interval = 2000; // 2s 
int time; 

PFont font; 

void setup() { 
    size(300, 300); 
    font = createFont("arial", 26); 
    background(0); 
    displayed = oneName; 
    time = millis(); 
    textFont(font); 
    fill(255); 
} 

void draw() { 
    background(0); 
    text(displayed, width/2 - textWidth(displayed)/2, height/2); 
    if (millis() - time > interval) { 
    displayed = displayed.equals(oneName)? otherName:oneName; 
    time = millis(); 
    } 
} 
+0

非常感谢你!这很棒! – user2337815 2013-05-06 05:57:06