Hogy lehet pong játékban megcsinálni azt hogy az ütőről vissza pattanjon a labda?
Az már meg van hogy ha a falhoz ér akkor visszafelé menjen de az ütőnél hogy kell megcsinálni? Az "ütő" x = 10px és y = 60px nagyságú. Úgy gondolkoznék hogy ha a labda az ütő x + 10 és y 0-60 pontján van akkor labda *(-1) de nem tudom a "0-60" részt bele írni a programba + azt hogy a labda x vagy y értéke változzon.
ha nagyon nem értenétek a leírást akkor itt van egy pastebin: [link]
de ne kövezzetek meg ha vmi-t rosszúl csináltam mert eléggé kezdő vagyok!
A válaszok jók általánosan is de python(pygame)-ban még jobb!
Köszi :)





Legyen a képernyő X=500 * Y=500 pixel felbontású.
A képernyő bal felső sarka legyen X=0 Y=0.
A jobb oldali ütő teteje X=490 Y=280, alja X=490, Y=320.
Ha a labda X koordinátájának középpontja + a labda sugara a jobb oldali ütő valamely végének X koordinátájával egyenlő, és a labda Y koordinátája az ütő tetejének és aljának Y koordinátája között van:
.. A labda mozgási vektorának X koordinátája annak -1-szerese legyen.





Sajnos, én nem értek a pythonhoz, de valami ilyesmit gondolok, persze nyilván lehet finomítani:





Gondolom, a labda mozdulásánál megnézed hogy találkozik-e az ütővel,
és ha igen, akkor az irányát megfordítod, és mondjuk 0.5ször az ütő iránya+sebesség=sebesség(szer)0.8+ütő sebessége
de pythonhoz én se értek
ui:bocs nincs numpadom















"de az nem tudom megcsinálni hogy hogyan ellenőrizzem azt amikor az ütőhöz ér mert pixelenként nem lenne olyan célszerű megcsinálni."
Hát pedig azt úgy kell, pixelenként. Collision detection a dolog neve, magyarul, ütközés-vizsgálat.





Azért, mert te ugyanúgy nem nézted meg az én kódomat, mint a többiek a tiédet. Nem mondom, hogy máris kifogástalan a megoldásom, de a játéknak ebben az egyszerű változatában többé-kevésbé működik, és pontosan a problémás pixelenkénti for-ellenőrzést helyettesíti egyszerű kisebb-nagyobb vizsgálattal. Erre voltál kíváncsi, nem?
De, lehet kérdezni. Csak minek, ha a válaszok nem érdekelnek?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!