我有问题。
在我的课程中,我有2个课程:
MainFrame
public class MainFrame extends javax.swing.JFrame
{
Logika logika;
.
.
.
private void przyciskKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
char znak = evt.getKeyChar();
int kod = evt.getKeyCode();
if(kod==KeyEvent.VK_A)
{
logika.key_pressed("a");
}
}
}
LOGIKA
public class Logika {
.
.
.
Calendar cal = Calendar.getInstance();
public void start()
{
gra_rozpoczeta=true;
punkty=0;
liczba=1;
x[0]=251;
y[0]=301;
cal = Calendar.getInstance();
czas=cal.getTimeInMillis();
while(gra_rozpoczeta==true)
{
cal=Calendar.getInstance();
dif=dif-(int)(cal.getTimeInMillis()-czas);
if(dif<0)
akcja();
try {
Thread.currentThread().sleep(50);
} catch (InterruptedException ex) {
Logger.getLogger(Logika.class.getName()).log(Level.SEVERE, null, ex);
}
czas=cal.getTimeInMillis();
}
}
private void akcja()
{
dif=500;
liczba++;
if(liczba==10)
key_presed=true;
if(key_presed==true)
gra_rozpoczeta=false;
}
public void key_pressed(String s)
{
key_presed=true;
key=s;
}
}
使用这种方法我有问题。
在最后5秒钟循环,但如果我按下“a”键,我想提前停止。
现在它的工作原理是: - 程序开始, -loop持续5秒(即按“a”) - 程序仅在循环
之后响应按下的键有可能吗?