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.
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: 
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.