我有个问题。
在我的程序中,我有 2 个课程:
主机
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"); } } }
逻辑卡
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”键,我想提前停止它。
现在它正在工作:-程序开始,-循环最后 5 秒(我按“a”)-程序仅在循环后响应按下的键
有可能吗?