- Megkönnyítette az iPhone az androidos átköltözést
- Beköszönt a hajlítható telefonok aranykora
- Android alkalmazások - szoftver kibeszélő topik
- A Dreame három okostelefont mutatott meg Lengyelországban
- iPhone 18 Pro Max: kis kapacitásbővítés hoz nagy előrelépést üzemidőben
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- A készlethiány jelezheti, jön az iPhone 16e és iPad Air utódja
- iPhone topik
- Nézegesd az S26 család renderképeit!
- Samsung Galaxy Note9 - stylus-szimbólum
Ú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?:))
- Vezeték nélküli fülhallgatók
- ASUS routerek
- Megkönnyítette az iPhone az androidos átköltözést
- Beköszönt a hajlítható telefonok aranykora
- Kifejezetten Mac-felhasználóknak szánja két új monitorát a BenQ
- Házimozi belépő szinten
- GTA V
- Elvonult a zimankó, de a hardverek nem mennek sehová
- Android alkalmazások - szoftver kibeszélő topik
- A Dreame három okostelefont mutatott meg Lengyelországban
- További aktív témák...
- Ryzen5 3700x 8core / GTX 1660 Super / SSD 500gb / HHD 2tb
- iPhone 13 mini 128GB silverlight független
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +hűtött VRM-es Z890 lap! GAR/SZÁMLA (Te nevedre kiállítva)!
- Samsung Galaxy S23 Ultra 5G 256Gb Dual, kártya független, fehér színben
- Apple iphone 16 128Gb, kártya független, fehér színben
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- Sony ULT FIELD 1 bluetooth hangszoró
- Keresünk Galaxy S22/S22+/S22 Ultra
- AKCIÓ!! HP Zbook Studio G8 i7-11850H 32GB 512GB Nvidia Quadro RTX A4000 8GB Garis!
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 16" i9-13950HX 64GB RAM 1TB Nvidia RTX 3500 ADA 12GB 1 év gar
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


