Java 为什么在处理过程中使用ControlP5单击按钮后,我的可视化效果消失了?

Java 为什么在处理过程中使用ControlP5单击按钮后,我的可视化效果消失了?,java,processing,Java,Processing,我正在处理一个应用程序。我想使用控件P5创建两个按钮。在我按下其中一个键后,我想显示一些内容。然而,它立即消失了,我不知道为什么 设置() 画() 按钮功能() 我想知道,我将如何完成一个情况-我可以点击按钮a,一个可视化显示。当我点击按钮B时,会出现一个新的可视化效果,并对按钮a隐藏该效果 因为现在,当我点击按钮A时,“word”会显示一秒钟并立即消失。这是因为每当按下按钮时,A()只被调用一次,而不像draw(),它被反复调用,所以你们只能看到text()的单个帧。。有一种方法可以解决这个问

我正在处理一个应用程序。我想使用控件P5创建两个按钮。在我按下其中一个键后,我想显示一些内容。然而,它立即消失了,我不知道为什么

设置() 画() 按钮功能() 我想知道,我将如何完成一个情况-我可以点击按钮a,一个可视化显示。当我点击按钮B时,会出现一个新的可视化效果,并对按钮a隐藏该效果


因为现在,当我点击按钮A时,“word”会显示一秒钟并立即消失。

这是因为每当按下按钮时,
A()
只被调用一次,而不像
draw()
,它被反复调用,所以你们只能看到
text()的单个帧。
。有一种方法可以解决这个问题,基本上你需要在
draw()
中绘制所有内容,只需选择要绘制的内容和绘制的时间。可以使用布尔标志执行此操作:

boolean drawText = false;

void draw() {
  background(0);
  if (drawText)
    text("word", 100, 100);
}

public void A() {
  drawText = true;
  println("This is a"); 
}

public void B() {
  drawText = false;
  println("This is b");
}

这是因为每当按下按钮时,
A()
只被调用一次,而不像
draw()
那样被重复调用,所以只能看到
text()
的单个帧。有一种方法可以解决这个问题,基本上你需要在
draw()
中绘制所有内容,只需选择要绘制的内容和绘制的时间。可以使用布尔标志执行此操作:

boolean drawText = false;

void draw() {
  background(0);
  if (drawText)
    text("word", 100, 100);
}

public void A() {
  drawText = true;
  println("This is a"); 
}

public void B() {
  drawText = false;
  println("This is b");
}

这很好地回答了我的问题。谢谢我还有一个小问题,如果我还不想在节目开始时展示什么呢?只有当用户点击A或B时,屏幕上才会发生一些事情?@JoshWilliams这就是当前发生的事情,对吗?屏幕上只有两个按钮,当你按A时,文本出现,当你按B时,文本消失。我发现了错误。我知道你的意思。你说得对!再次感谢:)@JoshWilliams没问题!这很好地回答了我的问题。谢谢我还有一个小问题,如果我还不想在节目开始时展示什么呢?只有当用户点击A或B时,屏幕上才会发生一些事情?@JoshWilliams这就是当前发生的事情,对吗?屏幕上只有两个按钮,当你按A时,文本出现,当你按B时,文本消失。我发现了错误。我知道你的意思。你说得对!再次感谢:)@JoshWilliams没问题!
public void A() {
    println("This is a");
    text("word", 100, 100);
}

public void B() {
    println("This is b");    
}
boolean drawText = false;

void draw() {
  background(0);
  if (drawText)
    text("word", 100, 100);
}

public void A() {
  drawText = true;
  println("This is a"); 
}

public void B() {
  drawText = false;
  println("This is b");
}