Kezdőoldal » Számítástechnika » Programozás » (C#) Sziasztok! Egy 2D-s...

(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.

Figyelt kérdés

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.


2011. szept. 25. 17:26
 1/5 anonim ***** válasza:
Esetleg egy timerrel..?
2011. szept. 25. 19:52
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Azért tettem fel a kérdést, mert mikor bekapcsolnám a timert, hibát ír ki, szerintem a motor nem szereti a windows form-os dolgokat, ezért kérdezném, hogy timer nélkül is meglehet oldani?
2011. szept. 26. 19:27
 3/5 anonim ***** válasza:

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)

2011. szept. 26. 20:18
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
system.sleep() esetleg?:D
2011. szept. 26. 21:06
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:

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.

2011. szept. 27. 17:07

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!