rectangle_in_circle

Syntaxe:

rectangle_in_circle(sx1, sy1, sx2, sy2, x, y, rad);


Argument La description
sx1 La coordonnée x du côté gauche du rectangle source.
sy1 La coordonnée y du côté supérieur du rectangle source.
sx2 La coordonnée x du côté droit du rectangle source.
sy2 La coordonnée y du côté inférieur du rectangle source.
x La coordonnée x du centre du cercle
y La coordonnée y du centre du cercle.
rad La coordonnée x du second côté du triangle à vérifier.


Renvoie: Real.


La description

Cette fonction va vérifier une zone rectangulaire que vous définissez pour voir si elle n'est pas en collision, complètement dans les limites de destination, ou si elle est simplement en contact, une zone circulaire définie. Si elles ne touchent pas du tout, la fonction retournera 0, si la source est complètement dans la destination, elle retournera 1, et si elles se chevauchent simplement, elle retournera 2. L'image ci-dessous illustre ceci:


Exemple:

inst = instance_nearest(x, y, obj_Bullet);
if instance_exists(inst)
   {
   if rectangle_in_circle(inst.x - 5, inst.y - 5, inst.x + 5, inst.y + 5, x, y - 25, 20) > 0
      {
      hit = true;
      }
   }

Le code ci-dessus utilise le rectangle_in_circle fonction de vérifier une collision dans une zone circulaire et le rectangle autour d'une instance trouvée. S'il y a une collision (soit un chevauchement de bord ou englobé), une variable sera mise à true.