Hirdetés
- Sokkal jobb ajánlat lett elődjénél az iPhone 17e
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Szívós, szép és kitartó az új OnePlus óra
- iPhone topik
- Akciófigyelő: Jelentős kedvezményekkel veheted meg a Xiaomi 17-eket
- Motorola Signature - mielőtt aláírnád...
- Xiaomi 17 Ultra - jó az optikája
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
Új hozzászólás Aktív témák
-
#39560925
törölt tag
Köszönöm a terjedelmes válaszokat! Sorban reagálok mindre.
4440:
első: különösebb oka nincs, ha hazajöttem átírom foreachremásodik: értem, MVC minta alapján szeretném természetesen megcsinálni a játékot, de ez az első ilyen dolog amit csinálok, és a hajnalig tartó gányolásnak lett ez az eredménye. Szóval a destroyEmeny()-t majd animator.animationCycle()-ben kell majd gondolom meghívni, de még nincsenek se lövedékek, se ütközésdetektálás, úgyhogy az arrébb lesz.
harmadik: erre neten találtam egy példát, ezt is beleírom majd ha hazaértem
public void run() {
long beforeTime, timeDiff, sleep;
beforeTime = System.currentTimeMillis();
while (ingame) {
repaint();
animationCycle();
timeDiff = System.currentTimeMillis() - beforeTime;
sleep = DELAY - timeDiff;
if (sleep < 0)
sleep = 2;
try {
Thread.sleep(sleep);
} catch (InterruptedException e) {
System.out.println("interrupted");
}
beforeTime = System.currentTimeMillis();
}
gameOver();
}Így gondoltad, ugye?
4441:
"Folyt.: A kódban ki az a GA? A Move most viewport (ablak) vagy világ (0-100) koordinátákban számol? Mert egyértelműen az utóbbiban kéne, és csak rajzolásnál konvertálni pixelpozíciókra."Itt is valóban nagy gányolást műveltem éjjel, megkavarodtam, hogy most az ellenséges objektumoknak ismerniük kell-e GameArea (GA) méretét. A GameArea a fekete hátterű négyzet. Mikor olvastam fent idézett mondatodat, akkor jöttem rá, hogy hülyeséget csináltam, mert csak a rajzolásnál kell konvertálni pixelpozícióra. Most reggel gyorsan átírtam ilyenre, ez az Enemy0:
// this method has to be called in every 20 milliseconds
public void Move () {
// in even seconds this enemy will go right
long time = System.currentTimeMillis();
if ((((time % 10000) - (time % 1000)) / 1000) % 2 == 0) {
x = (int) (x + 0.3);
y = (int) (y + 0.1);
}
// else it will go left
else {
x = (int) (x - 0.3);
y = (int) (y + 0.1);
}
}Érdekes, mert most csak balra hajlandó mozogni, aztán egyszer csak megáll, és egy helyben marad. Míg ezt a hszt írtam jöttem rá, hogy az (int)-é konvertálás miatt van a gond. Át fogom írni a koordinátákat double-re, és az int-é konvertálást csak a kirajzolásnál fogom megcsinálni, szerintem ez segíthet.
Az Enemy2 nagyon szépen cikázik jobbra-balra, pont amiatt, mert egész számot adok neki:
public void Move () {
// in even seconds this enemy will go right
long time = System.currentTimeMillis();
if ((((time % 10000) - (time % 1000)) / 1000) % 2 == 0) {
x = (int) (x + 1);
y = (int) (y + 0.15);
}
// else it will go left
else {
x = (int) (x - 1);
y = (int) (y + 0.15);
}
}A hozzászólásban lévő többi tanácsot köszönöm és megfogadom őket.
4442:
Erről egyelőre sejtésem sincs, hogy kéne az általad vázolt duplapufferelést megcsinálni, viszont a GameArea konstruktorában meghívok egy ilyet: setDoubleBuffered(true);Mint már említettem az egész GameArea egy gányolás, sok mindent beleírtam este, hogy kipróbálhassam jól mozognak-e az űrhajók. Elküldtem neked privátban az egész osztály forráskódját. A Timeren majd még agyalok.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- LEGO klub
- Foxpost
- Mikrotik routerek
- mefistofeles: Az elhízás nem akaratgyengeség!
- Hitelkártyák használata, hitelkártya visszatérítés
- Nem lesz gyors megoldása a VGA-hiánynak az NVIDIA szerint
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Sokkal jobb ajánlat lett elődjénél az iPhone 17e
- Napelem
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- További aktív témák...
- Újszerű Lenovo Thinkbook 14" FHD+ IPS Ultra 5 125U 16GB DDR5 RAM 512GB NVME SS Lenovo Gar: 2029.05ig
- Teljesen új Samsung A55 DS 5G 8/128GB Awesome Iceblue (jegeskék) eladó
- Bonola 3 az 1-ben töltőállomás több Apple eszközhöz! Új!
- Eladó ASUS TUF Gaming F15 (TUF507ZV4-LP121W) i7, 24gb ram RTX 4060, gamer laptop!
- GIGA AKCIÓ! HP Elitebook 850 G8, I7-1185G7, 32 GB, 512 SSD MAGYAR VILÁGÍTÓS BILLENTYŰZET
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- Svájci jellegű bicska eladó
- GYÖNYÖRŰ iPhone 12 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4601, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 12 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS2927, 100% Akkumulátor
- Apple iPhone 16e 128 GB White 100% Akkumulátor 12 hónap Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

