- Egyre csábítóbbak ezek az ASUS ExpertCenter mini PC-k
- Androidos tablet topic
- Apple MacBook
- OLED TV topic
- LG LCD és LED TV-k
- Milyen monitort vegyek?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- AMD Navi Radeon™ RX 9xxx sorozat
- Fejhallgató erősítő és DAC topik
- Házimozi belépő szinten
Ú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?:))
- Egyre csábítóbbak ezek az ASUS ExpertCenter mini PC-k
- Diablo IV
- Chieftec-Prohardver nyereményjáték
- Synology NAS
- BestBuy topik
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- LEGO klub
- Teljes verziós játékok letöltése ingyen
- Motorola Moto G06 Power – nagyfater új zakót vett
- Horgász topik
- További aktív témák...
- MacOS 14, Win11, Asus Hero Z790, Intel 13900K, 64GB RAM, Asus RX 6950 XT, 4TB WD SN850X
- SAMSUNG PM9E1 "9100 PRO" 2 TB M.2 NVME PCI-E 5.0 x4 - Új - 14.000-12.500 MBs - Eladó!
- GIGABYTE RX 6800 16GB GDDR6 GAMING OC - Eladó!
- NVME, M2 NGFF, 2,5" SATA SSD-k vegyes OEM márkák és prémium típusok, sok újszerű. 128GB-1TB
- Playstation 4 Pro 7216B 2db gyári kontroller
- Acer Predator Gamer PC! i7-14700F / RTX 4070 Super / 32GB DDR5 / 1TB NVMe!
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AY Universal USB-C Dock
- Dell Latitude 7340 2-in-1 i5 13.gen, 16GB DDR5, 512GB SSD, QHD+ érintőkijelző, ÚJ ÁLLAPOT!
- LG 77C3 - 77" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- Dell XPS 15 9500 - 15,6" hibás kijelző, i7 10750H, 8GB RAM, Nvidia GTX 1650 Ti 4GB VGA
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



