Java 处理赢得';不要在屏幕上显示游戏

Java 处理赢得';不要在屏幕上显示游戏,java,drawing,processing,Java,Drawing,Processing,我有一个我正在设计的处理游戏,它应该在游戏丢失时在屏幕上显示游戏。不幸的是,屏幕上的游戏永远不会出现。以下是我将其缩小到的函数: if (lives < 1) { background(0); textSize(100); text("You Lost",10,10); delay(1000); lives = 10; x = (int)random(width); y = (int)random(height / 2); velocity = new PVector(1,random(-

我有一个我正在设计的处理游戏,它应该在游戏丢失时在屏幕上显示游戏。不幸的是,屏幕上的游戏永远不会出现。以下是我将其缩小到的函数:

if (lives < 1) {
background(0);
textSize(100);
text("You Lost",10,10);
delay(1000);
lives = 10;
x = (int)random(width);
y = (int)random(height / 2);
velocity = new PVector(1,random(-1.4,-0.6));
score = 0;
}
if(寿命<1){
背景(0);
文本大小(100);
文本(“你输了”,10,10);
延迟(1000);
寿命=10;
x=(int)随机(宽度);
y=(int)随机(高度/2);
速度=新的PVector(1,随机(-1.4,-0.6));
得分=0;
}
当生命量为零时,它会暂停一秒钟,然后重新启动游戏


我已经尝试了我能想到的一切,但仍然没有成功。

因此,我在两分钟前了解了处理语言之后,最好的猜测是:

由于您将背景设置为黑色(0),文本也为黑色,因此无法看到,因此可以尝试使用
fill()
方法将文本的颜色更改为其他颜色,以查看这是否是问题的原因

if (lives < 1) {
   background(0);
   textSize(100);
   fill(255, 255, 255); // White text
   text("You Lost",10,10);
   delay(1000);
   lives = 10;
   ...
if(寿命<1){
背景(0);
文本大小(100);
填充(255,255,255);//白色文本
文本(“你输了”,10,10);
延迟(1000);
寿命=10;
...
找到了答案: 我在循环开始时添加了一段代码:

if (dflag) {
  delay(2000);
  dflag = false;
}
然后,在检查您是否死亡后,我将常规更新代码放入else语句中:

if (lives < 1) {
  // for(int df = 0; df < 1000; df++) {
  background(0);
  textSize(100);
  text("You Lost",100,100);
  dflag = true;
  //redraw();
  lives = 10;
  x = (int)random(width);
  y = (int)random(height / 2);
  velocity = new PVector(1,random(-1.4,-0.6));
  score = 0;
} else {
  textSize(13);
  background(0);
  stroke(255);
  text(score,10,10);
  String l = "";
  for (int q = 0; q < lives; q++) { l += "%"; }
  text(l,50,10);
  strokeWeight(balld);
  point(x,y);
  strokeWeight(8);
  line(paddlex,height - 30,paddlex + paddlew,height-30);
}
if(寿命<1){
//用于(int-df=0;df<1000;df++){
背景(0);
文本大小(100);
文本(“你输了”,100100);
dflag=真;
//重画();
寿命=10;
x=(int)随机(宽度);
y=(int)随机(高度/2);
速度=新的PVector(1,随机(-1.4,-0.6));
得分=0;
}否则{
文本大小(13);
背景(0);
中风(255);
文本(分数10,10);
字符串l=“”;
对于(intq=0;q
我们必须看到更多的代码,例如,函数text()或background()的作用是什么?对于那些使用java的人来说,text()在指定的坐标处显示文本。background()清除屏幕并用指定的颜色(0代表黑色)填充。delay()暂停数毫秒。这些函数来自哪个库?等等,这是什么语言?Processing()。这是一种基于java和openGL的图形语言。问题是屏幕在延迟1秒之前从不清除,所以在延迟之前屏幕甚至不会变黑?您忘了一个分号:fill(255,255,255);//白色文本是的,我猜有一个函数可以获取缓冲区(绘制到)并将其输出到屏幕。这可能是在每次绘制()结束时运行的。您是否无法在代码中的某个点强制“重画”屏幕?很高兴您已经解决了这个问题。