- Graphics: Kingston A400 - SATAFIRM S11 probléma megoldása.
- KISDUCK: Diétás kaja tipp
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Lalikiraly: Commodore The C64, Ultimate
- Luck Dragon: Asszociációs játék. :)
- mefistofeles: Érdekes történések a hardveraprón...2.
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
#39560925
#4439
üzenetére
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. PROTIP: a játékmotor és a konkrét ablak két egymástól független dolog.
Egyébként a game loopodat kicsit rendbe kéne szedni, mert a mostani elnevezésekkel nem jön át hogy mi mit csinál. Ennek kellene történnie:
1) Kiszámolod a legutolsó periódus óta eltelt időt.
2) Ezzel az értékkel mozgatod a modell szinten (world koordinátákban) az objektumokat.
3) Kiszámolod és kezeled az ütközéseket - a ConcurrentModificationExceptionök miatt okosan kezelve a pusztulásokat - pl. naívan egy listát gyűjtesz minden meghaló entitásról, és az ütköztetés után külön ciklusban törlöd őket a világból.
4) Eltárolod az időt az első lépéshez, most.
5) Invalidálod a panelt.
6) Vársz. Várakozás helyett lehet, hogy egy jó időzítőosztályt kéne használnod amúgy.Rajzolásnál meg, ami aszinkron meghívódik, az aktuális állapotot rajzold ki. Semmi mást ne csinálj. Egyébként azt is lehetne, hogy egy másik ciklus hívogatja a rajzolást, de nem biztos hogy szükséges. Duplapufferelést is lehetne írni, nem sokból tart.
Ez így egy hótprimitív játékciklus, de egyszerű dolgokhoz elég lehet.

-
Karma
félisten
válasz
#39560925
#4439
üzenetére
Gyorskérdés, amíg tovább olvasom: miért nem használsz foreach ciklust manuális iterátorozás helyett?
Második: a rajzolási ciklusodból takarítsd kifelé a destroyEmeny hívást! Semmi köze hozzá, rajzolja csak ki a pillanatnyi állapotot, de semmi logika.
Harmadik: ezzel a Move implementációval biztosan pofonba szaladsz. Egyrészt a 20 ms fix idő semmilyen körülmények között nem garantálható, ezért úgy szokták megoldani ezt, hogy a Move paraméterben megkap egy legutolsó frissítés óta eltelt időt (pl. milliszekundumban), és azzal számolja a képleteket.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Samsung Gear VR: Note5, S6 (EDGE), S7 (EDGE)
- MacBook Air 15" M4 / 24 GB / 512 SSD / 100% akksi / gyári garis
- Ray-Ban Meta Headliner (Gen 2) - 1 hónapos
- Csere-Beszámítás! Apple Macbook Pro 2013 vége! 512GB SSD, I7, 16GB DDR3, Intel Iris Pro! Olvass!
- Precision 7680 16" FHD+ IPS i7-13850HX RTX 2000 Ada 32GB 1TB NVMe magyar vbill gar
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- 194 - Lenovo Legion 5 (15IRX10) - Intel Core i9-14900HX, RTX 5070 (ELKELT)
- Bomba ár! HP ProBook 440 G5 - i5-7GEN I 8GB I 500GB I HDMI I 14" HD I Cam I W11 I Garancia!
- 197 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070 (ELKELT)
- AKCIÓ! LENOVO ThinkPad P15 Gen 1 munkaállomás - i7 10875H 32GB DDR4 512GB SSD Quadro T2000 W11
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


