C# Windows Form ping pong játék hogyan induljak el? Több lent.
Kis matek és fizika szükséges ehhez a problémához.
A legegyszerűbb módszer, ha a visszapattanás szöge megegyezik, a becsapódás szögéve (szögmásolás). Ezt ugye a középiskolás matematikai ismereteink segítségével meg tudjuk oldani.
Itt egy viszonylag egyszerű kép, amin tökéletesen látszik, hogy mire gondoltam. [link]
Egy nagyon egyszerű módszer:
A labdád mozgásának ugye van egy sebessége ("speed"), egy vízszintes ("vect_x") iránya, és egy függőleges ("vect_y") iránya. [Ezek legyenek -1 és 1 közötti számok. Legegyszerűbb ha csak 2 értékül van, y=1 a fel, y=-1 a le, illetve x=1 a jobbra, x=-1 a balra ]
A sebességed azt határozza meg, hogy képkockánként mennyi pixelnyit mozduljon az egyes irányokba (lehet külön x meg y sebesség is akár, de nem muszáj).
A mozgáshoz a labdád pozícióját növelgeted:
labda_poz_x+=speed*vect_x és labda_poz_y+=speed*vect_y
Ha a a labdád ütközik valamivel, akkor egyszerűen megszorzod -1-gyel az irányokat, és máris megfordul.
vect_x*=-1; vect_y*=-1;
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!