Kezdőoldal » Számítástechnika » Programozás » Hogyan tudnám megoldani az...

Hogyan tudnám megoldani az elliptikus mozgást?

Figyelt kérdés

Egy játékhoz készítek spellt ami abból áll hogy egy shurikent eldob ami egy elliptikus pályát leírva visszatér a kiindulópontra. Na most az a probléma hogy nem jól működik. A következő a helyzet: Egyetlen egy real típusú változóval akartam bekonfigurálni a teljes mozgást a következőképpen:

Set SCaster[SIndex] = (Triggering unit) [kezdő egység]

Set STargetPoint[SIndex] = (Target point of ability being cast) [célpont]

Set SCasterPoint[SIndex] = (Position of SCaster[SIndex]) [kezdőpont]

Set SDistanceMax[SIndex] = 1400.00 [a változó ami alapján a többit megadja magától]

Set SDistanceInner[SIndex] = (SDistanceMax[SIndex] / 10.00) [egy belső kör rádiuszának megadása hogy elliptikus legyen a mozgás és ne menjen a középponthoz túl közel]

Set SDistanceOuter[SIndex] = (SDistanceMax[SIndex] / 2.00) [külső kör rádiusza hogy ne menjen túl messzire]

Set SDistance[SIndex] = SDistanceOuter[SIndex] [aktuális távolság a középponttól]

Set SMove[SIndex] = ((SDistanceOuter[SIndex] - SDistanceInner[SIndex]) / 18.00) [mozgatási távolság(0.03 sec alatt 5 fokot fordul el)]

Set SBoomerangPoint[SIndex] = (SCasterPoint[SIndex] offset by (SDistanceMax[SIndex] / 2.00) towards (Angle from SCasterPoint[SIndex] to STargetPoint[SIndex]) degrees) [középpont]

Set SChange[SIndex] = False [ha elérte a belső kört átvált és a távolság értékét növelni kezdi hogy a középponthoz képest távolodjon]

Set SBack[SIndex] = False [visszatérés]


Az SIndex-ek a tömb miatt van hogy egyszerre akárhányszor lefuthasson probléma nélkül.

A probléma az hogy mikor eléri a belső kört az SChange változót át kéne váltania amitől annak kifele kéne mennie. Át is váltja de csak azután kezd el kifele haladni hogy elérte a középpontot. Hogy tudnám ezt megoldani?


Akik a teljes kódra kíváncsiak: [link] (grafikus)


2011. febr. 22. 18:32
 1/3 anonim ***** válasza:
Nem egészen értem a fent leírtakat, de ha szívalakú a dolog, akkor LEHET, hogy kerekítési dolgok vannak benne: nem simán pí-nél (fél-ellipszis) áll meg, hanem pl 4 egésznél.
2011. febr. 22. 22:24
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
a próbléma az hogy amikor eléri a 140-es sugaru kört akkor tovább megy befele annak ellenére hogy a logikai változó be lett kapcsolva és csak akkor kezd el kimenni ha már elérte a középpontot
2011. febr. 23. 05:57
 3/3 anonim ***** válasza:
Eleve nem értem, miért ilyen nyakatekert módon oldod meg a mozgást. Az ellipszis egy egyszerű alakzat, mindenkori helyzeted ha bejárod, és x a szög: r1*cosx + r2*sinx, ahol r1 az egyik "sugár", a szélessége az ellipszisnek (illetve ennek a fele), r2 pedig a magassága, illetve a fele.
2011. febr. 23. 11:19
Hasznos számodra ez a válasz?

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!