Hirdetés
- Amlogic S905, S912 processzoros készülékek
- Samsung LCD és LED TV-k
- Fejhallgató erősítő és DAC topik
- Hiba kóddal indul a gép
- Gaming notebook topik
- Dell notebook topic
- Androidos tablet topic
- Bambu Lab 3D nyomtatók
- Hisense LCD és LED TV-k
- A VBIOS az oka a Radeon RX 9070 és az X99-es alaplapok inkompatibilitásának
Ú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?:))
- Hálózati / IP kamera
- Windows 11
- Autós topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Amlogic S905, S912 processzoros készülékek
- Háztartási gépek
- Samsung Galaxy Watch7 - kötelező kör
- Tenisz topic
- Samsung Galaxy A54 - türelemjáték
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- További aktív témák...
- LENOVO Legion Pro 5 16IRX8 - 16" WQXGA 240Hz - i5-13500HX - 16GB - 1TB - RTX 4060 - 9 Hó garancia
- I7-11700K-Gigabyte Z590 Aorus Ultra
- Szuper áron eladó Lenovo ThinkPad T14 Gen 1 Touch /Ryzen 5 PRO 4650U/16GB/256 SSD/FHD/IPS
- Bontatlan Lenovo ThinkPad T14s Gen 4
- Samsung UE40NU7192 101 cm / 40 4K UHD Smart TV 6 hó garancia Házhozszállítás
- Új Dell 13 Inspiron 5310 FHD+ IPS i5-11300H 4.4Ghz 8GB 256GB Intel Iris XE Graphics Win11 Garancia
- 145 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- BESZÁMÍTÁS! Logitech G920 Driving Force Racing Wheel + Shifter garanciával hibátlan működéssel
- Azonnali készpénzes nVidia RTX 4000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest