Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 启动和停止布尔()函数_Java_Boolean_Processing - Fatal编程技术网

Java 启动和停止布尔()函数

Java 启动和停止布尔()函数,java,boolean,processing,Java,Boolean,Processing,我正试图使用这个代码来创建国家,它使用来自任何国家名称的字母组成。但我想让它成为这样,一旦用户按下向右箭头键,过程将重新开始,但相反,创建了一个新的国家,并使用该国家的字母。我有点被卡住了——我所做的就是当你按下向右箭头键时,它开始从上一个功能停止的地方进入下一个国家。有没有办法让它重新开始呢 PFont font; String fontpath = "ArialMT-200.vlw"; int fontstart = 300; int fontend = 8; float fonts

我正试图使用这个代码来创建国家,它使用来自任何国家名称的字母组成。但我想让它成为这样,一旦用户按下向右箭头键,过程将重新开始,但相反,创建了一个新的国家,并使用该国家的字母。我有点被卡住了——我所做的就是当你按下向右箭头键时,它开始从上一个功能停止的地方进入下一个国家。有没有办法让它重新开始呢

    PFont font;
String fontpath = "ArialMT-200.vlw";
int fontstart = 300;
int fontend = 8;
float fontsize = fontstart;
float fontsizedecrease = 0.97;
PImage bg;
PImage australia;
String country1 = "australia.jpg";
String country2 = "austria.jpg";
String letters = "Australia";
char[] chars = new char[52];
int nchars = 0;
int iterations = 500;
int c = 0;
PGraphics letter,lettersquare,drawing;


void setup(){
  //initialize the sketch
  size(900,600);
  //background(255);
  //initialize the font
  //font = loadFont(fontpath);
  ///*
  for(int i=0;i<letters.length();i++){
    boolean found = false;
    char lc = letters.charAt(i);
    for(int j=0;j<nchars;j++){
      if(chars[j]==lc){
        found = true;
        break;
      }
    }
    if(!found) chars[nchars++] = lc;
  }
  chars = (char[]) subset(chars,0,nchars);
  font = createFont("Arial",200,true,chars);
  //*/
  textAlign(CENTER,CENTER);
  //load the image that will be filled with letters
  australia = loadImage(country1);
    austria = loadImage(country2);
    //france = loadImage(country3);
     //guatemala = loadImage(country4);
     // italy = loadImage(country5);
      // japan = loadImage(country6);
  bg = loadImage("background.jpg");
  //posterize the image
  australia.filter(THRESHOLD,0.4);
  australia.filter(BLUR,3);
  australia.filter(THRESHOLD,0.6);

 austria.filter(THRESHOLD,0.4);
  austria.filter(BLUR,3);
  austria.filter(THRESHOLD,0.6);
  //initialize the drawing buffers
  letter = createGraphics((int)fontsize,(int)fontsize,JAVA2D);
  lettersquare = createGraphics((int)fontsize,(int)fontsize,P2D);
  drawing = createGraphics(width,height,JAVA2D);
  drawing.beginDraw();
  drawing.background(255);
  // THIS STUPID THING NEEDS TO GO HERE!!!!
  drawing.image(bg,0,0);
  drawing.endDraw();

}

void draw(){
  background(255);
  if(floor(fontsize)>fontend&&c<letters.length()-1){
    if(!letterfit()){
      fontsize *= fontsizedecrease;
    }else{
      c++;
      if(c==11){
        fontsize *= 0.75;
      }
    }
    tint(255);
    image(drawing,0,0);
    if(mousePressed){
      tint(255,100);
      image(australia,0,0);
    }
  }else{
    tint(255);
    image(drawing,0,0);
    println(c+" "+letters.length());
    /*
    save("mlk-"+hour()+""+minute()+""+second()+".tif");
    exit();
    */
    noLoop();
  }
}     
boolean letterfit(){
  letter.beginDraw();
  letter.background(255,0);
  letter.fill(0);
  letter.textAlign(CENTER,CENTER);
  letter.translate(fontsize/2,fontsize/2);
  letter.rotate(random(TWO_PI));
  letter.scale(fontsize/fontstart);
  letter.textFont(font);
  letter.smooth();
  letter.text(letters.charAt(c),0,0);
  letter.endDraw();
  lettersquare.beginDraw();
  lettersquare.background(255);
  lettersquare.image(letter,0,0);
  lettersquare.filter(ERODE);
  lettersquare.filter(ERODE);
  lettersquare.endDraw();
  for(int i=0;i<iterations;i++){
    int x = floor(random(width-fontsize));
    int y = floor(random(height-fontsize));
    boolean fits = true;
    for(int dx=0;dx<fontsize&&fits;dx++){
      for(int dy=0;dy<fontsize&&fits;dy++){
        if(brightness(australia.get(x+dx,y+dy))>127){
          fits = false;
          break;
        }
        if(brightness(lettersquare.get(dx,dy))<127){
          if(brightness(drawing.get(x+dx,y+dy))<127){
            fits = false;
          }
        }
      }
    }

   if (keyCode == RIGHT) {

    for(int dx=0;dx<fontsize&&fits;dx++){
      for(int dy=0;dy<fontsize&&fits;dy++){
        if(brightness(austria.get(x+dx,y+dy))>127){
          fits = false;
          break;
        }
        if(brightness(lettersquare.get(dx,dy))<127){
          if(brightness(drawing.get(x+dx,y+dy))<127){
            fits = false;
          }
        }
      }
    }
    if(fits){
      drawing.beginDraw();
      drawing.image(letter,x,y);
      drawing.endDraw();
      return true;
    }
  }

    if(fits){
      drawing.beginDraw();
      drawing.image(letter,x,y);
      drawing.endDraw();
      return true;
    }
  }
  return false;
}
PFont字体;
字符串fontpath=“ArialMT-200.vlw”;
int fontstart=300;
int-fontend=8;
float fontsize=fontstart;
float-fontsizedecrease=0.97;
皮马杰bg;
PImage澳大利亚;
字符串country1=“australia.jpg”;
字符串country2=“austria.jpg”;
字符串字母=“澳大利亚”;
char[]chars=新字符[52];
int-nchars=0;
int迭代次数=500;
int c=0;
印刷字体、方形字体、图纸;
无效设置(){
//初始化草图
规模(900600);
//背景(255);
//初始化字体
//font=loadFont(fontpath);
///*

对于(int i=0),IDOO看起来不像您提供了足够的代码来查看完全错误。同意,请张贴您的PDE的其余部分。我想说,您不应该在LeTeTead()的中间触发您的重新启动。函数,您应该将其放置在其他位置,但如果没有其余的代码,则无法知道或提供详细信息。我在中添加了一些代码,如果我添加了更多的代码,我很抱歉!由于1217问题,此代码仅适用于ps 1.x版本。