Java 处理鼠标压力()

Java 处理鼠标压力(),java,processing,mousepress,Java,Processing,Mousepress,我对编码还不熟悉,目前我所在的班级让我们将Processing 3与java结合使用。我正在做一个项目,试图设置一个mousePressed()动作,这样会出现3个静态图像,但不会显示。(如果这是一个愚蠢的问题,很抱歉) 这是密码 PImage [] pics = new PImage [11]; int base=0; int top=10; int dollar=9; boolean notPressed = true; void setup() { size(1200, 750)

我对编码还不熟悉,目前我所在的班级让我们将Processing 3与java结合使用。我正在做一个项目,试图设置一个mousePressed()动作,这样会出现3个静态图像,但不会显示。(如果这是一个愚蠢的问题,很抱歉)

这是密码

PImage [] pics = new PImage [11];

int base=0;
int top=10;
int dollar=9;

boolean notPressed = true;

void setup() {
  size(1200, 750);
  background(255);
  imageMode(CENTER);

  for (int i=0; i<11; i++) {
    pics[i] = loadImage("pic"+i+".png");
  }
}

void draw() {

  translate(500, 275);
  if (notPressed) {
    image(pics[int(random(1, 8))], 100, 100);
  } else {
    image(pics[base], 100, 100);
  }
  image(pics[top], 100, 100);
  image(pics[dollar], 100, mouseY);
}

pushMatrix();
translate(500, 275);
image(pics[int(random(pics.length))], 100, 100);
popMatrix();

pushMatrix(); //moves dollar up and down 
translate(500, 275);
image(pics[0], 100, 100);//base
image(pics[9], 100, mouseY);//dollar
popMatrix();
}

void mousePressed() {  
  notPressed=false;
}

void keyPressed() {
}
PImage[]pics=新的PImage[11];
int base=0;
int top=10;
整数美元=9;
布尔值notPressed=true;
无效设置(){
规模(1200、750);
背景(255);
图像模式(中心);

对于(int i=0;i,根据我的理解,以下是您要查找的内容:

PImage [] pics = new PImage [11];
int base=0;
int top=10;
int dollar=9;

boolean show = false;//new variable to show/hide the images

void setup(){
 size(1200, 750);
 background(255);
 imageMode(CENTER);

for (int i=0; i<11; i++){
  pics[i] = loadImage("pic"+i+".png");
  }
 }
 
void draw() {
 background(255); //reset background after each draw
  
 if(show)//check if we should draw or not
 {
   image(pics[base], 100, 100);
   image(pics[top], 100, 100);
   image(pics[dollar], 100, mouseY);
 }
}

 void mousePressed(){
  show=true;
 }
PImage[]pics=新的PImage[11];
int base=0;
int top=10;
整数美元=9;
boolean show=false;//显示/隐藏图像的新变量
无效设置(){
规模(1200、750);
背景(255);
图像模式(中心);

对于(int i=0;i,根据我的理解,以下是您要查找的内容:

PImage [] pics = new PImage [11];
int base=0;
int top=10;
int dollar=9;

boolean show = false;//new variable to show/hide the images

void setup(){
 size(1200, 750);
 background(255);
 imageMode(CENTER);

for (int i=0; i<11; i++){
  pics[i] = loadImage("pic"+i+".png");
  }
 }
 
void draw() {
 background(255); //reset background after each draw
  
 if(show)//check if we should draw or not
 {
   image(pics[base], 100, 100);
   image(pics[top], 100, 100);
   image(pics[dollar], 100, mouseY);
 }
}

 void mousePressed(){
  show=true;
 }
PImage[]pics=新的PImage[11];
int base=0;
int top=10;
整数美元=9;
boolean show=false;//显示/隐藏图像的新变量
无效设置(){
规模(1200、750);
背景(255);
图像模式(中心);

对于(int i=0;i我建议使用在按下鼠标时发生变化的条件。您可以执行
if
语句,与建议的略有不同:

PImage[]pics=新的PImage[11];
int base=0;
int top=10;
整数美元=9;
布尔值mouseHasNotBeenPressed=true;
无效设置(){
规模(1200、750);
背景(255);
图像模式(中心);

对于(int i=0;i我建议使用在按下鼠标时发生变化的条件。您可以执行
if
语句,与建议的略有不同:

PImage[]pics=新的PImage[11];
int base=0;
int top=10;
整数美元=9;
布尔值mouseHasNotBeenPressed=true;
无效设置(){
规模(1200、750);
背景(255);
图像模式(中心);

对于(inti=0;i这是正确的代码

boolean notPressed = false;

void setup();
//

void draw();

 if (notPressed) {
    image(pics[int(random(1, 8))], 100, 100);
  } else {
    image(pics[top], 100, 100);
  }
  image(pics[dollar], 100, mouseY);
  image(pics[base], 100, 100);

  void mousePressed();
  notPressed=false;

这是正确的代码

boolean notPressed = false;

void setup();
//

void draw();

 if (notPressed) {
    image(pics[int(random(1, 8))], 100, 100);
  } else {
    image(pics[top], 100, 100);
  }
  image(pics[dollar], 100, mouseY);
  image(pics[base], 100, 100);

  void mousePressed();
  notPressed=false;


我想帮助你,但我需要你进一步解释你的需要,因为你的代码对你描述的内容没有意义,你想在哪里绘制图像?你想一次全部绘制还是每次单击?加载的11个图像中,你想绘制哪一个..etcI只需要3个图像(10、9和0)一次点击就全部显示。很抱歉让人困惑。我翻译了它们,使它们都有相同的点。基本上我所做的是创建一个图像的副本,分层在顶部,但它只会闪烁一小部分秒,不会停留。我说得通吗?显示在哪里?我的意思是什么坐标?我希望它位于(500275)我想帮助你,但我需要你进一步解释你的需要,因为你的代码对你描述的内容没有意义,你想在哪里绘制图像?你想一次全部绘制还是每次单击?加载的11个图像中,你想绘制哪一个..etcI只需要3个图像(10、9和0)一次点击就全部显示。很抱歉让人困惑。我翻译了它们,使它们都有相同的点。基本上我所做的是创建一个图像的副本,分层在顶部,但它只会闪烁一小部分秒,不会停留。我说得通吗?显示在哪里?我的意思是什么坐标?我希望它位于(500275)有点,让我再解释一遍。因此,图1-8在草图顶部的图0后面随机闪烁,而图0保持静止,图9(美元)在图像0顶部的Y轴上上上下移动。我想做的是按下鼠标,让图像1-8闪烁切换到图像10,同时仍然允许图像9移动。我想让草图打开,初始图像已经存在。这有意义吗?实际上,我想问一个更好的方法是,如何将多个图像更改为一个当我点击鼠标时出现图像?@Marko所以你想让1-8闪烁,0在上面,9在上面上下移动。然后当按下鼠标时,只显示10和9,10是静态的,而9继续移动?我想让1-8闪烁,并用图像10替换,所有其他图像保持不变,因为它们已经分层很好。很抱歉弄糊涂了。让我再解释一遍。因此,图1-8在草图顶部的图0后面随机闪烁,而图0保持静止,图9(美元)保持静止在图像0顶部的Y轴上上上下移动。我想做的是按下鼠标,让图像1-8闪烁切换到图像10,同时仍然允许图像9移动。我想让草图打开,初始图像已经存在。这有意义吗?实际上,我想问一个更好的方法是,如何将多个图像更改为一个当我点击鼠标时出现图像?@Marko所以你想让1-8闪烁,0在上面,9在上面上下移动。然后当按下鼠标时,只显示10和9,10是静态的,而9继续移动?我想让1-8闪烁,并用图像10替换,所有其他图像保持不变,因为它们已经分层很好。很抱歉弄糊涂了。它给了我一个错误,说我混合了动态和静态modes@Marko当我运行那个精确的代码时,我没有收到任何错误消息,你可能复制/粘贴错误了吗?你能编辑你的原始帖子以包含你运行的精确代码吗?刚刚更新it@Marko你没有删除你的一些代码。它应该d如果你删除第30-41行就行。@Marko我很高兴你找到了答案!你能编辑我的答案或发布你自己的答案以给出正确的解决方案吗?最好把答案放在这里,以便其他人可以使用。另外,你能把你的问题恢复到以前的状态吗?编辑页面上应该有一个回滚按钮。这给了我一个e错误:我正在混合主动和静态modes@Marko当我运行那个精确的代码时,我没有收到任何错误消息,你可能复制/粘贴错误了吗?你能编辑你的原始帖子以包含你运行的精确代码吗?刚刚更新it@Marko您没有删除一些代码。如果您删除第30-41行,它应该会起作用。@Marko我很高兴您能这么做你能编辑我的答案还是把你自己的答案贴到gi上