- Elmossa a Samsung a valóság és az AI-fantázia határát
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Xiaomi 15 - kicsi telefon nagy energiával
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Külföldi prepaid SIM-ek itthon
- Soundcore Sleep A30 - a hosszú házasság titka
- iPhone topik
- Magisk
- Milyen okostelefont vegyek?
Ú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?:))
- Gaming notebook topik
- Kényszerűen visszavesz az AI-ból a Windows 11-ben a Microsoft?
- Windows 11
- Elmossa a Samsung a valóság és az AI-fantázia határát
- Luck Dragon: Asszociációs játék. :)
- Gitáros topic
- Kilőtte Elon a Twittert és Grokot a világűrbe
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- World of Tanks - MMO
- Cairn - Indulhat a hegymászás!
- További aktív témák...
- Acer TravelMate P214 i3-1115G4 12GB 256GB 14" FHD 1év garancia
- Nvidia Quadro P400/ P620/ P1000/ T400/ T1000 - Low profile (LP) + RTX A2000 6/12Gb + AMD Radeon
- Dell Latitude 3510 15,6", i5 10210U, 8-16GB RAM, SSD, jó akku, számla, garancia
- Xbox One S 1 TB + kontroller 6 hó garancia, számlával!
- Apple iPhone 15 Pro 128 GB 1 év Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



