Hirdetés
- Hivatalos a Poco X8 Pro Max gigantikus akkukapacitása
- Okosóra és okoskiegészítő topik
- Google Pixel topik
- Apple Watch Sport - ez is csak egy okosóra
- Honor Magic6 Pro - kör közepén számok
- Nem kapsz kisebb kapszulát!
- Xiaomi 17 Ultra - jó az optikája
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- MWC 2026: csápolt a robot, majd dobott egy hátraszaltót
- Telekom mobilszolgáltatások
Új hozzászólás Aktív témák
-
#39560925
törölt tag
Előbb rosszul indultam neki az egész gombos mókának. Most újrakezdtem. A GameArea osztály megvalósítja a Runnable interfacet, és a run metódusában 20ms-onként meghívogatja a LeftPanel doJob metódusát. Mikor elindul a program, akkor egyből elindul a GameArea szállja is, ezért a LeftPanel threadRunning attribútumát true-val inicializálom. (Később majd hozzáadok egy start gombot, amire az első gombnyomás után setEnabled(false) metódust meghívom és elindítja a GameArea szállját, de ezt majd csak akkor, ha pause/resume működik.)
Akkor jöjjön a kód:
public class LeftPanel extends JPanel implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private JButton pause;
private boolean threadRunning;
public LeftPanel () {
threadRunning = true;
pause = new JButton();
pause.setBackground(Color.CYAN);
pause.addActionListener(this);
pause.setText("Pause");
pause.setVisible(true);
this.add(pause);
setFocusable(true);
pause.setFocusable(true);
}
public synchronized void doJob () throws InterruptedException {
while (!threadRunning) {
pause.setText("Resume");
wait();
}
pause.setText("Pause");
notify();
}
public void actionPerformed(ActionEvent ae) {
threadRunning = !threadRunning;
}
}Most olyat produkál, hogyha rányomok a gombra, akkor a Pauseról Resume feliratra vált, és megállnak az ellenséges űrhajók. Újbóli kattintgatásra marad a Resume felirat a gombon, és nem folytatódik a játék. Természetesen én a saját űrhajómmal már az elején se tudok mozogni. Valaki tudja erre a 2 problémára a megoldást?
Kiegészítésként itt a GameArea run() metódusa:
public void run() {
long startTime = System.currentTimeMillis();
long beforeTime = startTime;
try {
while (!Finished) {
repaint();
animator.animationCycle();
rightPanel.refresh(player.getHealth(), player.getBaseHealth(), player.hasArmor());
leftPanel.doJob();
//MEGCSINÁLNI A JÁTÉKMECHANIKÁT
//Thread.sleep(20 - (System.currentTimeMillis() - beforeTime));
Thread.sleep(19);
beforeTime = System.currentTimeMillis();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Kormányok / autós szimulátorok topikja
- Teljesen az új Xboxhoz készül a neurális leképezés
- alza vélemények - tapasztalatok
- Kuponkunyeráló
- AMD Navi Radeon™ RX 9xxx sorozat
- Jövedelem
- Linux kezdőknek
- Hivatalos a Poco X8 Pro Max gigantikus akkukapacitása
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Crimson Desert
- További aktív témák...
- Macbook Air M1 8GB 256 GB 2026.júliusig garancia
- Playstation 5 digital PS5 825 GB 2026.12 hóig garancia
- Einhell akkumulátoros fűnyíró eladó!
- Bomba ár! Panasonic CF-20-2 Tab+Laptop: i5-7G I 8GB I 256SSD I 10,1" WUXGA Touch I Cam I W11 I Gar
- Bomba ár! Lenovo ThinkPad L13 G2 - i5-11G I 16GB I 256SSD I 13,3" FHD I Cam I W11 I Garancia!
- Dell Precision 7550 i7-10850H 32GB 512GB Nvidia RTX3000 6GB 1 év garancia
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RX 9070 16GB GAMER PC termékbeszámítással
- Dell UltraSharp 24 USB-C Hub Monitor - U2422HE - 27% ÁFÁs
- Xiaomi Redmi Note 14 6/128GB fekete / 2028.01.12 - ig jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

