Hogyan tudnék c#-ban pong játékot csinálni?
Nagyából tudom hogy kell csak annyi gondom lenne hogy a panel-en vannak olyan elemek amiket csak egyszer kell rárajzolni vagy ritkán kell újrarajzolni és vannak olyanok amiket többször de ha a refresh függvényt használom akkor az egész panel újrarajzolódik ha pedig az invaildate függvényt akkor pedig semmi sem.
Ezt hogy tudnám megoldani?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
#20-asnak: Látom nagyon a kérdésre koncentrálsz és elmélyülten keresed a megfelelő megoldásokat... :-) ...így már érthető, hogy mit keres a neved mellett a 70%-ék! :-)
Kedves kérdező, igaza van a #20-asnak, inkább hallgass az ilyen és hasonló észlényekre, mert ők mindent tudnak, még azt is amit nem... :-)
Igaz Mondó igazad van abban hogy jobb magamtól rájönni a dolgokra de nekem a c# grafikus része teljesen új. Még csak most kezdtem el vele foglalkozni.
A neved kissé tényleg nagyképűnek hat de nekem nincsenek előítéleteim viszont nem értem hogy miért pont ezt a nevet választottad amikor regisztráltál.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Használj double bufferinget, az a legjobb megoldás.
Így függetlenedsz attól, hogy éppen mit rajzolsz, mire rajzolod ki, és semmiképp se fog villogni.
Off:
A 36%-ot meg nyilván azért kaptad, mert megkértem 100 haveromat, hogy szavazzon le, meg még szkriptet is írtam, ami magától csinálja.
Vagy egyszerűen azért mert hülyeségeket írsz mindenhová...
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
#22-nek (Kérdező-nek):
Úgy látom megvan benned az a képesség, ami mozgatja a kreatív emberek fantáziáját, még lenne is kedvem veled megcsinálni ezt vagy akár más programot, mert jópofa ember vagy...
A nevemről csak annyit, hogy gondolj pl nagy vezetőkre, akik eléggé elitélendő dolgokat csináltak az életben, például tömegeket gyilkoltattak meg, de mégis velük van teli a történelem tankönyv... :-) ...az én nevem nem ezért született, hogy "stár legyek", sohasem akartam kitűnni a többiek közül, de mégis sikerült... :-) ...talán pont ezért, mert nem akartam... :-) ...és figyeld meg az emberek reakcióit, általában mind azt gondolja magáról, hogy ő birtokolja az igazi igazságot... ...de valójában a legtöbb ember hazugságban él, ezt szokta meg, és ha valami igazat mondasz nekik, akkor ezt kapod cserébe: leszavaznak, és próbálnak eltiporni, hiszen az ő érdekük a hazugság és a megtévesztés... ...persze ezt nem vallanák be soha... :-)
...és csak azt lehet felhúzni idegileg, akinek igazat mondasz, nézd meg az észlényeket, mind velem van elfoglalva, ahelyett, hogy válaszolnának a kérdésekre! :-)
#23-nak (én ilyeneket csak névtelen f@s.*znak nevezem :-)) Mert ez az igazság és így vagyok hű a nevemhez! :-)
Szóval kedves #23-as, névtelen dákó, az nem tűnik fel, hogy a kérdező velem áll szóba és nem veletek??? :-) Ti csak azért vagytok itt, hogy keverjétek a szart és szavazzatok negatívan rám, mert igazat mondtam megint... ...pl csodálkoznék, ha ez a hozzászólásom nem lenne 0%-ékra értékelve! :-)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
"Villogni nem fog, de ha mozgatja az ütőt/labdát szaggatottan fog mozogni."
És elmondanád, hogy miért, illetve milyen módszerrel tűnne el ez a szaggatott mozgás? Mert nem igazán értem mitől szaggatna.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Én a labdát timer-el mozgattam.
Ha a timer intervallumát beállítom egyre és mindig amikor a timer_tick esemény bekövetkezik akkor mozgatom egy pixellel akkor nem szaggat de túl lassú.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
...csak nem bírtam ki... :-)
Itt van egy kép a játékmenetről:
...és itt van maga a program:
http://data[PONT]hu/get/8999429/Pong[PONT]zip
(a linkben a [PONT] helyére írjatok .-ot!)
Néhány megjegyzés:
- 1.1 verzió
- C#
- Panel + DoubleBuffer + Invalidate
- Form-ra a DoubleBuffer könnyű
- Panel esetén a DoubleBuffer egy kicsit trükkös
- A kirajzolás nem villódzik (no flickering)
- A labda nem akadozik, ha mozgatjuk az ütőt.
- A Gép MI-je nem túl erős, hogy legyen sikerélményetek is :-)
- A labda beszorulhat az ütő mögé is
- Pontszámozás (15-ig)
- Újrakezdés lehetősége (Restart)
- Ha a labda ütközik az ütővel, akkor a labda véletlenszerűen változtat irányt és sebességet.
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!