使 Graphics2D 文本延迟闪烁
Make Graphics2D Text Blink with Delay
我有一个绘制方法,使用 Graphics2D 对象将字符串绘制到屏幕上。我在draw方法中设置了一个if语句,让文字每秒绘制一次(闪烁效果),但是文字会绘制一秒钟,然后不只绘制一帧,继续绘制。我想让它画一秒钟,然后再画一秒钟等等。
这是方法 -
long elapsed = (System.nanoTime() - blinkTimer) / 1000000;
if(elapsed < 1000){
// g.drawString("",x,y); Draw String Here
}else{
blinkTimer = System.nanoTime();
}
blinkTimer 在构造函数中被初始化为 System.nanoTime();
我想在不使用 Java Timer 对象的情况下完成此操作。提前致谢!
添加了一个额外的计时器 -
long elapsed = (System.nanoTime() - blinkTimer) / 1000000;
if(elapsed < 1000){
//g.drawString("",x,y); Draw String Here
breakTimer = System.nanoTime();
}
long breakElapsed = (System.nanoTime() - breakTimer) / 1000000;
if(breakElapsed > 500){
blinkTimer = System.nanoTime();
}
我有一个绘制方法,使用 Graphics2D 对象将字符串绘制到屏幕上。我在draw方法中设置了一个if语句,让文字每秒绘制一次(闪烁效果),但是文字会绘制一秒钟,然后不只绘制一帧,继续绘制。我想让它画一秒钟,然后再画一秒钟等等。
这是方法 -
long elapsed = (System.nanoTime() - blinkTimer) / 1000000;
if(elapsed < 1000){
// g.drawString("",x,y); Draw String Here
}else{
blinkTimer = System.nanoTime();
}
blinkTimer 在构造函数中被初始化为 System.nanoTime();
我想在不使用 Java Timer 对象的情况下完成此操作。提前致谢!
添加了一个额外的计时器 -
long elapsed = (System.nanoTime() - blinkTimer) / 1000000;
if(elapsed < 1000){
//g.drawString("",x,y); Draw String Here
breakTimer = System.nanoTime();
}
long breakElapsed = (System.nanoTime() - breakTimer) / 1000000;
if(breakElapsed > 500){
blinkTimer = System.nanoTime();
}