1

我是处理新手,但我基本上是想获得这种效果:

等待。

(1秒后)

等待..

(1秒后)

等待...

(1秒后)

等待....

(然后重置)

等待。

作为文本();

任何想法我将如何能够实现这一目标?

4

1 回答 1

2

改用millis(),它计算自程序启动以来的时间,以毫秒为单位。这里有一个简单的反例:

再次编辑代码以获得更好的示例

PFont font;
String time = "000";
int initialTime;
int interval = 1000;
int fontSize;

void setup()
{
  size(300, 300);
  fontSize = 40;
  font = createFont("Arial", fontSize);
  background(255);
  fill(0);
  smooth();
  noStroke();
  textFont(font);
  initialTime = millis();
}

void draw()
{
  background(255);

  // if current time minus lastStored bigger than interval 
  if (millis() - initialTime > interval){

    // increment time as an int and back to string again
    time = nf(int(time) + 1, 3);

    // reset counter
    initialTime = millis();
  }

  // just  cosmetic using the counter ...
  if (int(time) % 5 != 0) {
    fill(210);
  }else{
    fill(170, 100, 100);
  }

  ellipse(width/2, height/2, 120, 120);

  fill(255);
  ellipse(width/2, height/2, 100, 100);


  //display time
  fill(0);
  text(time, width/2 - textWidth(time)/2, height/2 + fontSize/2.8 );
}
于 2012-10-31T03:05:36.190 回答