(C#) Sziasztok! Egy 2D-s plaform játékon dolgozok, sdk motort használok, a fizikát már beállítottam. Jelenleg a karakter képének a mozgás során történő megváltoztatása lenne a dolgom. Hogy időzítsem? A többi lent.
A texturák megvannak, azt is tudom, milyen utasítással cseréljem ki őket. Csupán egy problémám van! Hogy tudom beállítani az időzítést? Mert megváltoztatja a sprite képét, de nagyon gyorsan csinálja. Hogy időzítsem?
Előre is köszönöm a válaszokat.
Időzíteni timer-rel lehet. Azé' van. Mással nem.
Feltételezem, az SDK-dnak valami speckó timer-ét használod, de mivel nem tudom, milyen SDK, így bővebben segíteni nem tudok.
Egyébként a .NET-ben van rakat timer class, szerintem találsz olyat, ami neked kell.
Ill. írhatsz egy saját timer-t a win API-ját felhasználva.(a QueryPerformanceCounter és a QueryPerformanceFrequency függvények környékén keresgélj)
Esetleg elárulhatnád, hogy milyen "hibát ír ki".(Azaz mondjuk milyen exception-t dob)
De annyit már kapásból tudok mondani, hogy a Winforms alkalmazások STA model-t használnak, azaz minden Control-hoz csak az őt létrehozó thread férhet hozzá, máskülönben exception..
Csak találgatás, de ha pl. a timer-ed egy külön szálon hívja meg a tick event-jét, és abban az eventhandler-ben te valami winform-os control-t akarsz buzerálni, akkor bizony az nem fog menni.
(Vagy legalábbis nem ilyen egyszerűen, de van ugye egy olyan property, hogy InvokeRequired)
Köszönöm a válaszokat! Itt válaszolnék is rájuk.
System.sleep nem lehetséges, mert az egész játékot lefagyasztja.
Egy hosszabb választ is kaptam :) Ennek utána járok, és majd mellékelek egy hosszabb választ is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!