Keresés

Aktív témák

  • BlackWoOd

    aktív tag

    válasz [Kovi] #9 üzenetére

    Az én megoldásom a tiédtől alapvetően eltérne, de elvileg szögtartó pattogást alapból tartja, a szöget pedig az szintén képes tartani (igaz, nem teljesen pontosan, de neked is kerekítened kell...).

    Az elv alapja, hogy kirakod a ''labdát'' a kezdő pozíciójába.
    (mondjuk labdaX,labdaY koordinátákra)

    Felveszel iránymódosító változókat (pl. deltaX, deltaY), amik meghatározzák a labda kövezkező mozgásának irányát (pl. deltaX = 1, deltaY = 1.5 esetén a labda balra lefelé mozog, lefelé 1.5-ször gyorsabban mint balra, stb.)

    Minden körben lemódosítod a labdaX és labdaY-t a deltaX és deltaY-nal,
    majd jönnek az ütközésvizsgáló if-ek.
    Ha a labdaX vagy a labdaY kiesik valamelyik határon, csak a megfelelő deltaX előjelét módosítod, valamint ha pontosan akarsz dolgozni, a labdaX illetve labdaY értékét módosítod azzal az értékkel, amivel labdaX kijjebb esett a határon.

    (Nem olyan bonyi, mint első olvasásra! :P )

    De látom, már megoldódik a problémád! :)

  • BlackWoOd

    aktív tag

    válasz [Kovi] #1 üzenetére

    Hú, nem bonyolítottad ezt egy kicsit túl?

    Elvégre négyszög alakú területen belül pattog a labda, nem is kell cos/sin függvény, csak sima függőleges és vízszintes határvizsgálat (2-2 db if), szerintem.

    Elég csak azt nézned, hogy elérte-e a labda megfelelő koordinátája a határ értékeket és akkor kell mozgásirányt fordítanod...

Aktív témák