Zdravím, dělám hru v C#, konkrétně Arkanoid. Při kolizi míčku s cihlou zavolám metodu, která řeší kam se má míček odrazit. Směry mám vyřešené, včetně hrany, ale nemůžu přijít na to, jak udělat, aby když splním jednu podmínku (tj. změním směr), aby se nesplnili už ostatní podmínky a "vyjel" z té metody. Protože když zmením třebas rychlost z (-x, -y) na (-x, -y), tak se mi splníTady přikládám tu metodu, v které jsou řešeny odrazy. Předem děkuji za radu, jak tento problém vyřešit.
public void OdrazMickuCihla(Sprite micek, Vector2 CihlaStretnuti)
{
if (micek.Rychlost.X < 0 && micek.Rychlost.Y < 0) //micek leti (-x;-y)
{
if (CihlaStretnuti.X < 37 && CihlaStretnuti.X > -21) //micek nalitne na strechu cihly
micek.Rychlost = new Vector2(micek.Rychlost.X, -micek.Rychlost.Y);
else if (CihlaStretnuti.X >= 37) //micek nalitne na hranu cihly
micek.Rychlost = new Vector2(-micek.Rychlost.X, micek.Rychlost.Y);
}
else if (micek.Rychlost.X < 0 && micek.Rychlost.Y > 0) //micek leti (-x;y)
{
if (CihlaStretnuti.X >= 37 ) //micek nalitne na hranu cihly
micek.Rychlost = new Vector2(-micek.Rychlost.X, micek.Rychlost.Y);
else if (CihlaStretnuti.X < 37) //micek nalitne na strechu cihly
micek.Rychlost = new Vector2(micek.Rychlost.X, -micek.Rychlost.Y);
}
else if (micek.Rychlost.X > 0 && micek.Rychlost.Y < 0) //micek leti (x;-y)
{
if (CihlaStretnuti.X <= -17) //micek nalitne na hranu cihly
micek.Rychlost = new Vector2(-micek.Rychlost.X, micek.Rychlost.Y);
else if (CihlaStretnuti.X > -17) //micek nalitne na strechu cihly
micek.Rychlost = new Vector2(micek.Rychlost.X, -micek.Rychlost.Y);
}
else if (micek.Rychlost.X > 0 && micek.Rychlost.Y > 0) //micek leti (x;y)
{
if (CihlaStretnuti.X <= -17) //micek nalitne na hranu cihly
micek.Rychlost = new Vector2(-micek.Rychlost.X, micek.Rychlost.Y);
else if (CihlaStretnuti.X > -17) //micek nalitne na strechu cihly
micek.Rychlost = new Vector2(micek.Rychlost.X, -micek.Rychlost.Y);
}
else if (micek.Rychlost.X == 0) //micek leti kolmo
{
micek.Rychlost = new Vector2(micek.Rychlost.X, -micek.Rychlost.Y);
}
}
TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
![[C#] Pokud se splní jeden if, na ostatní if-y nebrat zřetel – C / C++ – Fórum – Programujte.com](http://img.cdnprg.webtea.cz/web/logo_new.png)


Nahlásit jako SPAM
IP: 86.49.75.–
Věrný člen
Zjistit počet nových příspěvků
































