processing - 按钮在处理 4 beta 1 中不起作用
问题描述
我只是不能让我的代码工作。它使按钮,但它不起作用。那么你能帮我解决这个问题吗?
它使文本正常,按钮也显示出来。但它不起作用,我也尝试过不同的功能,比如background(10)
等等。
Button login1;
boolean clicked = false;
void setup() {
fullScreen();
loginPage();
}
void draw() {
if (login1.isClicked()) {
print("AAAA");
}
login1.update();
login1.render();
}
void loginPage() {
background(27, 50, 131);
textSize(70);
fill(255);
text("System Statku Organizacji 587 'Aurora'", 600, 150);
login1 = new Button(100,50,400,200,"Zaloguj sie",64, 136, 253,255,255,255);
}
class Button {
boolean Pressed = false;
boolean Clicked = false;
PVector Pos = new PVector(0,0);
float Width;
float Height;
color Colour;
color textColour;
String Text;
Button(int x, int y, float w, float h, String t, int r, int g, int b, int tr, int tg, int tb) {
Pos.x = x;
Pos.y = y;
Width = w;
Height = h;
Text = t;
Colour = color(r,g,b);
textColour = color(tr,tg,tb);
}
void update() {
if (mousePressed == true && mouseButton == LEFT && Pressed == false) {
Pressed = true;
if (mouseX >= Pos.x && mouseX <= Pos.x+Width && mouseY >= Pos.y && mouseY <= Pos.y+Height) {
}
} else {
Clicked = false;
Pressed = false;
}
}
void render() {
noStroke();
fill(Colour);
rect(Pos.x,Pos.y,Width,Height);
fill(textColour);
textAlign(CENTER,CENTER);
text(Text,Pos.x+(Width/2),Pos.y+(Height/2));
}
boolean isClicked() {
return(Clicked);
}
}
解决方案
将此添加到代码的底部(在 Button 类下方)。我不确定您是否真的需要 Pressed 和 Clicked 布尔值。
void mousePressed(){
if((mouseX >= login1.Pos.x) && (mouseX <= login1.Pos.x + login1.Width) && (mouseY >= login1.Pos.y) && (mouseY <= login1.Pos.y + login1.Height)){
println("You hit the login button.");
}
}
推荐阅读
- css - 如何避免角度垫板位置更改对 matdialog 的影响
- javascript - 如何使用谷歌脚本按日期过滤?
- android - Android卡在“安装”和“启动应用程序”
- scala - 诊断:用户类抛出异常:org.apache.spark.sql.AnalysisException:路径 {PATH} 已存在
- spring - spring 中独立的task executor 有自己的线程池
- spring - 关于 net::ERR_CERT_DATE_INVALID 使用 Spring Framework 制作 Board 时出错
- google-cloud-platform - Google Cloud Build - 多个环境
- javascript - new Date().getTimezoneOffset() 和 new Date(string).getTimezoneOffset() 有什么区别?
- .net - 如何使用 IBM.XMS for .NET Client 将 IBytesMessage 保存到 IBM MQ 中的文件
- android - 如何使用 FCM 支持多用户 Android 应用程序?