IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
user
Tvůrce
Avatar
user:8.8.2012 3:14

Ahoj,
jak na kolize kruhových objektů? Nechci je kontrolovat pomocí Rectanglů...
Pokud je to složitější, stačili by i nějaké zdroje (i v EN), kde bych se dozvěděl více, pokud nějaké znáte...
Děkuji za pomoc

 
Odpovědět
8.8.2012 3:14
Avatar
matesax
Tvůrce
Avatar
Odpovídá na user
matesax:8.8.2012 5:57

Proč to tu máš 2x? Máš na mysli toto?

http://gamedev.stackexchange.com/…t-all-others

Každopádně stačí google - tam si vyber, co budeš potřebovat...

 
Nahoru Odpovědět
8.8.2012 5:57
Avatar
matesax
Tvůrce
Avatar
Odpovídá na user
matesax:8.8.2012 5:58
public static Vector2 GetIntersectionDepth(Circle a, Circle b)
   {
       float xValue = a.Center.X - b.Center.X;
       float yValue = a.Center.Y - b.Center.Y;

       Vector2 depth = Vector2.Zero;

       float distance = Vector2.Distance(a.Center, b.Center);

       if (a.Radius + b.Radius > distance)
       {
           float result = (a.Radius + b.Radius) - distance;
           depth.X = (float)Math.Cos(result);
           depth.Y = (float)Math.Sin(result);
       }

       return depth;
   }

   Vector2 depth = Vector2.Zero;

   for (int i = 0; i < bounds.Count; i++)
       for (int j = i+1; j < bounds.Count; j++)
       {
           depth = CircleToCircleIntersection.GetIntersectionDepth(bounds[i], bounds[j]);
           if(depth == Vector2.Zero){
               //this means that did not collide
           }else{
               //this means they collided
           }
       }
 
Nahoru Odpovědět
8.8.2012 5:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.