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);//白色文本是的,我猜有一个函数可以获取缓冲区(绘制到)并将其输出到屏幕。这可能是在每次绘制()结束时运行的。您是否无法在代码中的某个点强制“重画”屏幕?很高兴您已经解决了这个问题。