SteK Creative Commons License 2011.01.03 0 0 730

Üdv, elnézést, hogy csak betoltam a kódot, az előnézet helyett az elküldésre kattintottam. Azt szeretném elérni, hogy a két golyó akármilynem mozgást végez, mindig ha találkoznak pattanjanak el egymásról. Most nem szempont a fizika, csak, hogy ha érintkeznek akkor pattanjanak.

 

Sikerült megoldanom a rajzolás és a pattanás problémáját, csak egy apróságot nem értek. Miért viselkedik ilyen hülyén a program? Mondom mi a gond, de ha kipróbáljátok látni is fogjátok. Szimetrikus pattanásnál nincs baj, mert pattan, de ha asszimetrikus mozgásra kerül a sor, akkor hamarabb pattan el a golyó, vagy messzebbről vagy nem pattan. Szimetrikus mozgásnak azt nevezem ebben a programban, hogy az x és y koordináta sebessége megegyezik és tükörszerűen ellentétesen pattannak a golyók. Ha a tempót állítom és csak az x akkor semmi baj. ha már az x és y-on is állítok akkor már bezavarodik a program és nem látom a problémát, hogy hol kéne még alakítani. Pontosabban látom, hogy a pattanás feltételeinél kellene de nem tudom, hogy mi az a lépés amit bele kellene vennem és ezt szeretném kérdezni, hogy mit rontottam el, mert több szem többet lát én meg már olyan sokat foglalkoztam ezzel a kóddal, hogy tuti elsiklok valami felett.

 

VAGY

 

Meg lehet-e csinálni, hogy Enter eseményt használok a golyók ütközésére? Tehát, ha az egyik rajzolt alakzat  érzi, hogy a másik beleért.

 

például:

 

if (g.Ellipse1.Enter)

{

       speed_x *= -1;

}

 

vagy valami hasonlót. Vagy van-e valami olyan metódusa a Graphics nak, ami érzékeli két rajzolt elem érintkezését? Remélem értitek mire szeretnék kilyukadni. Én eddig csak consolos alkalmazásokat írtam c++ ban. A c# és a grafikus felület kicsit kusza még itt ott, sokat olvasok utána és próbálom teljesen átlátni, csak ezen nem tudok túljutni.

 

A kódot még egyszer nem rakom be /*úgyis alatta van :) */, hogy ne tolja szét a topicot feleslegesen.

 

A válaszokat előre is köszöm!

Előzmény: SteK (729)