width-50 && mouseX height-50 && mouseY -6ren">
gpt4 book ai didi

if-statement - 处理——如何写; "On mouse click in region"。点击按钮的效果

转载 作者:行者123 更新时间:2023-12-04 04:46:40 24 4
gpt4 key购买 nike

我想知道为什么这段代码不能按预期工作。

void mousePressed() {

if (mouseX > width-50 && mouseX < width && mouseY > height-50 && mouseY < height)
{
img = loadImage("doraemon.png");
image(img, 0, 0, width, height);
}

我想要它,以便当我单击显示“下一个”的图像时,我可以在背景上显示不同的图像,如果再次单击,则显示另一个背景图像,依此类推。
if (mouseX > width-50 && mouseX < width && mouseY > height-50 && mouseY < height)

^此代码片段说明了按钮“下一步”的位置。
当我运行此代码时,将鼠标悬停在条件上时会得到一张图像,但我希望在按下按钮后出现图像。

有谁知道怎么写?

我需要类似的东西
 if (mousePressed == condition)
{
then change image
}

请帮忙。对此,我真的非常感激!

最佳答案

你试图把你所有的逻辑都塞进 mousePressed()功能。相反,您需要在 mousePressed() 之间拆分逻辑。函数和 draw()功能。使用变量来跟踪应该绘制的内容。调整 mousePressed() 中的这些变量功能。使用这些变量来确定要在 draw() 中绘制什么功能。

一个简单的示例可能如下所示:

boolean showButton1 = true;

void setup() {
size(200, 200);
}

void mousePressed() {
if (mouseX < 100 && mouseY < 100) {
//button 1 was just clicked, show button 2 instead
showButton1 = false;
} else if (mouseX > 100 && mouseY > 100) {
//button 2 was just clicked, show button 1 instead
showButton1 = true;
}
}

void draw() {

background(0);

if (showButton1) { //draw the first button
fill(255, 0, 0);
rect(0, 0, 100, 100);
} else { //draw the second button
fill(0, 255, 0);
rect(100, 100, 100, 100);
}
}

另外,您不应该调用 loadImage()来自 mousePressed()draw()职能。相反,从 setup() 加载图像函数,并将它们存储在以后可以使用的变量中。

关于if-statement - 处理——如何写; "On mouse click in region"。点击按钮的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31381744/

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