Kezdőoldal » Számítástechnika » Programozás » C# forgatás, mozgás kiszámítás...

C# forgatás, mozgás kiszámítása játékhoz pontosan?

Figyelt kérdés

Forgást kéne kiszámítanom és hogy utána a W lenyomása után haladjon.

X += (int)((Speed + 1) * Math.Cos(Wheels.Rotation));

Y += (int)((Speed + 1) * Math.Sin(Wheels.Rotation));

A Speed adja meg a sebességét, a Wheels.Rotation pedig radiánban az elfordulás mértékét. (Ez az érték lehet -4,63-tól 1,64-ig bármilyen tizedes tört)

Csakhogy ez csak nagyobb szögeknél végez más mozgást (0-44-ig egyenesen megy, 45-89-ig átlósan, stb.)

Nincs erre egy pontosabb képlet, hogy "jobban tudjon mozogni"?



2013. szept. 8. 13:15
 1/6 anonim ***** válasza:
Szerintem ne integerben számold. Milyen nagyságrendű a Speed?
2013. szept. 8. 13:27
Hasznos számodra ez a válasz?
 2/6 2xSü ***** válasza:
100%
Valószínű itt az a gond, hogy egésszé van alakítva a kiszámolt érték. Itt kérdés, hogy a Speed milyen értéket vesz fel. Ha kijön, hogy x irányban 1,428-et, y irányban 0,326-ot kell lépni, akkor ugye az egésszé alakítás miatt ebből 1 és 0 lesz. A megoldás egyszerű, használj lebegőpontos változót x-nek és y-nak.
2013. szept. 8. 13:28
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
Ez nekem is eszembe jutott, de sajnos az X és az Y a piceleket jelöli. Nem hiszem, hogy tudnék mozgantni valamit fél pixellel arrébb
2013. szept. 8. 14:13
 4/6 A kérdező kommentje:
A Speed 1-10-ig terjedhet
2013. szept. 8. 14:13
 5/6 anonim ***** válasza:
Ha nem jó a program (és nem jó) akkor át kell alakítani. Ne a pixeleket jelölje, hanem a kirajzolásnál kerekítsd az értéket. (Esetleg másik Xben tárolható a kerekített érték.) Így pár lépésenként fog egy pixelt oldalra ugrani, amit ugye így szeretnél.
2013. szept. 8. 14:29
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Jó ötlet, köszönöm, mindjárt ki is próbálom!
2013. szept. 9. 06:32

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!