Kezdőoldal » Számítástechnika » Programozás » Hogyan tudnék c#-ban pong...

Hogyan tudnék c#-ban pong játékot csinálni?

Figyelt kérdés

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?



2015. aug. 6. 13:42
1 2 3
 11/30 A kérdező kommentje:

De ez a kód az egész panelt újrarajzolja mert amikor így próbáltam módosítani akkor a vonalat már nem rajzolta:

private void panel1_Paint(object sender, PaintEventArgs e)

{

//Minden rajzolást ebbe pakolj bele!

e.Graphics.DrawRectangle(Pens.White, r);

if (megvolt)

{

e.Graphics.DrawLine(Pens.White, new Point(100, 100), new Point(200, 100));

megvolt = false;

}

}

2015. aug. 6. 21:38
 12/30 anonim ***** válasza:
Talán mert azt mondtad neki, hogy ha már kirajzolta egyszer, ne rajzolja újra. Persze a panelre rajzolt dolgok törlődnek kirajzolás előtt.
2015. aug. 6. 21:41
Hasznos számodra ez a válasz?
 13/30 A kérdező kommentje:

Igen de Igaz Mondó azt mondta hogy ne rajzoljak ki mindent újra mert az nagy erőforrás pazarlás.

Hogyan lehet megoldani hogy a négyzet újrarajzolódjon de a vonal nem és a vonal ott is maradjon?

2015. aug. 6. 21:43
 14/30 anonim ***** válasza:
A Pongban az ütők és a labda állandóan mozognak. Más meg nincs. Szóval miért ne rajzolnád újra az egészet?
2015. aug. 6. 21:53
Hasznos számodra ez a válasz?
 15/30 anonim ***** válasza:
De a legjobb ha XNA -t használsz, mert az van játékra kifejlesztve.
2015. aug. 6. 23:11
Hasznos számodra ez a válasz?
 16/30 anonim ***** válasza:

"Igen de Igaz Mondó azt mondta hogy ne rajzoljak ki mindent újra mert az nagy erőforrás pazarlás."


Nem.

2015. aug. 6. 23:41
Hasznos számodra ez a válasz?
 17/30 anonim ***** válasza:

Amúgy kedves kérdező, figyelted már "Igaz Mondó" értékelését?

"A válaszíró 36%-ban hasznos válaszokat ad."

2015. aug. 6. 23:43
Hasznos számodra ez a válasz?
 18/30 A kérdező kommentje:

15-ödik, azért nem mert mielött elkezdek ilyenekkel foglalkozni szeretnék tapasztalatot szerezni hogy hogyan lehet grafikus játékokat készíteni c#-ban játék motor nélkül.


Igazad van Lilla de ha belegondolsz végül is logikus hogy fölösleges újrarajzolni a nem változó elemeket. Pong-ban ennek tényleg nincs nagy jelentősége. Csak a választó vonal meg a pontok kiírása de erre szükségem lehet még a későbbiekben is.

2015. aug. 7. 00:00
 19/30 anonim ***** válasza:

#8-asnak (Kérdezőnek):


private Rectangle r,r2;

...

r = new Rectangle(0,panel1.Height/2-rSize/2, rSize, rSize);

r2 = new Rectangle(0, 0, 0, 0);

...

r.X=e.X;

r.Y=e.Y;

r2.X=r.X;

r2.Y=r.Y;

r2.Width=rSize+1;

r2.Height=rSize+1;

panel1.Invalidate(r2);

//panel1.Refresh();


Azaz a kérdésedre a válasz csak annyi, hogy az "Invalidálni"-szánt területet mind szélességében, mind magasságában 1-el meg kell toldani, ugyanis éppen határon van a négyzet jobb, illetve az alsó széle... ...de ha programozó akarsz lenni, akkor gondoltam majd próbálgatod és magadtól rájössz, ugyanis amire magától jön rá az ember az általában meg is marad... (mert sokat kínlódott vele).


#17-esnek (Lilla_1991-nek): Ezt nevezzük előítéletnek. Olyan mintha azt mondanám Rád (mint nőre, mert a Lilla női név), hogy qrva vagy... ...lehet hogy sok nő az, de biztosan vannak kivételek is! :-)


Bár ha meg fiú vagy női név mögé bújva, nos akkor lehet érteni az ellenszevedet egy "Igaz Mondó"-iránt... :-) Végülis a b*u.z,ikat én is kerülöm! :-)


Tehát kedves kérdező, az tökmindegy kit mennyire értékelnek, ugyanis ha összeszednék 100 havert és mondanám nekik, hogy gőzerővel szavazzanak le minden Lilla_1991-es hozzászólást, lehet hogy neki sem lenne olyan magasan az arca... :-) Szóval ez csak ennyi!


Az én leszavazásom meg általában arra épül, hogy már eleve a nick-nevem egy kissé nagyképűnek és hivalkodónak tűnik és ezt az emberek zöme negatívan értékeli, még akkor is ha jót mondok... :-)


Egyszerűek az emberek, mint az 1x1... :-)

2015. aug. 7. 01:00
Hasznos számodra ez a válasz?
 20/30 anonim ***** válasza:
Igazmondó egy idióta, ne hallgass rá se itt, se máshol.
2015. aug. 7. 07:56
Hasznos számodra ez a válasz?
1 2 3

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!