gpt4 book ai didi

java - 为什么在 Processing 中使用 ControlP5 单击按钮后我的可视化消失了?

转载 作者:行者123 更新时间:2023-11-29 08:35:13 26 4
gpt4 key购买 nike

我正在使用 Processing 开发一个应用程序。我想使用 Control P5 创建两个按钮。按下某个键后,我想显示一些内容。但是,它立即消失了,我不确定为什么。

设置()

import controlP5.*;

ControlP5 cp5;
controlP5.Button b;

void setup() {
size(1080,720);
background(210,210,210);
cp5 = new ControlP5(this);

b = cp5.addButton("A")
.setPosition(100,140)
.setSize(200,19);


b = cp5.addButton("B")
.setPosition(100,180)
.setSize(200,19);
}

绘制()

void draw() {
background(0);
}

按钮函数()

public void A() {
println("This is a");
text("word", 100, 100);
}

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

我想知道,我将如何完成一种情况 - 我可以点击按钮 A,出现一个可视化效果。当我单击按钮 B 时,会出现一个新的可视化效果并隐藏按钮 A 中的可视化效果。

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

最佳答案

发生这种情况是因为 A() 仅在按下按钮时被调用一次,不像 draw() 会被重复调用,因此您只能看到一个帧text() 的。有一种方法可以解决这个问题,基本上你想在 draw() 中绘制所有内容,只需选择要绘制的内容和绘制时间即可。您可以使用 boolean 标志执行此操作:

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");
}

关于java - 为什么在 Processing 中使用 ControlP5 单击按钮后我的可视化消失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44657366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com