在Processing中一次键入一个字符

时间:2016-05-06 00:57:50

标签: string text character processing

我正在尝试在处理中一次显示一个字符。例如,如果我键入字母“Q”,我怎么能这样做,以便当我键入另一个字符时,它显示在与前一个字符相同的位置但在过程中删除前一个字符?

最终我正在尝试制作一个能够在不同字体上显示任何按键的程序;但是当我尝试这个时,角色会不断加入。

截至目前,这给了我连续的角色:

 
String letters = "";

void setup() {
  size(100, 100);
  stroke(255);
  fill(0);
  textSize(16);
}

void draw() {
  background(204);
  text(letters, 0, 50);
}

void keyPressed() {
  if (key == BACKSPACE) {
    if (letters.length() > 0) {
      letters = letters.substring(0, letters.length()-1);
    }
  } else if (textWidth(letters+key) < width) {
    letters = letters + key;
  }
}

如何在任何时候只显示一个角色?

1 个答案:

答案 0 :(得分:1)

看看这一行:

 
key

您要在letters变量中添加letters。因此,如果"ABC"key'X'letters,则此行开始后"ABCX"将为key

如果您只想显示按下的最新键,为什么不直接使用void draw() { background(0); text(key, 25, 25); } 值?这正是它所拥有的:

<div class="text-center"> 
    <a href="GAME1/index.html" class="btn btn-warning" style ="margin-left:     500px;">1 Player</a>
    <a href="GAME4/index.html" class="btn btn-warning">2 Players</a>
</div>