- hcl: Vízóra :D (okosóra számlap)
- weiss: Pant* rant
- Elektromos rásegítésű kerékpárok
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- sh4d0w: Palpatine - A Terv
Új hozzászólás Aktív témák
-
Oppenheimer
nagyúr
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?:))
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Milyen autót vegyek?
- ROG Strix G16:Tökéletes harmónia
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Azonnali alaplapos kérdések órája
- Linux kezdőknek
- Kerékpársportok
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Büszke apukák és anyukák topikja
- További aktív témák...
- Kezdő Gamer PC MSI RTX 2060 OC / i3-10100F / 16GB DDR4 / Új MSI ház
- Precision 5690 16" FHD+ IPS Ultra 7 165H RTX 1000 Ada 32GB 1TB NVMe ujjlolv IR kam gar
- Bomba ár! HP Omen - i7-7700HQ I 16GB I 512SSD I 15,6" 4K I Nvidia GTX1050Ti 4GB I Cam I W11 I Gar!
- LG UltraWide UltraGear 38GL950G-B IPS Monitor! 3840x1600 / 175Hz / 1ms / G-Sync! BeszámítOK
- Bomba ár! Lenovo ThinkPad T580 - i5-8G I 16GB I 256SSD I 15,6" FHD I HDMI I W11 I Cam I Garancia!
- LG 55C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
- Xbox Game Pass Ultimate kedvező áron, egyenesen a Microsoft-tól! - AUTOMATA BOLT
- Dell Latitude 3340 Core i3-4005U CPU hibás laptop
- Apple MacBook Air Megbízható társ a mindennapokra!
- ÚJ HP EliteBook 840 G8 - 14"FHD IPS - i5-1145G7 - 32GB - 512GB SSD - Win10 - 6 hónap Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest