collision_circle( x1, y1, rad, obj, prec, notme );
| Argument | La description |
|---|---|
| x1 | La coordonnée x du centre du cercle à vérifier. |
| y1 | La coordonnée y du centre du cercle à vérifier. |
| rad | Le rayon (distance en pixels de son centre à son bord). |
| obj | L'objet à vérifier pour les collisions par exemple. |
| prec | Si la vérification est basée sur des collisions pixel-parfait (vrai = lent) ou sa boîte englobante en général (faux = rapide). |
| notme | Indique si l'instance d'appel, le cas échéant, doit être exclue (true) ou non (false). |
Renvoie: ID d'instance ou noone
Le cercle de collision crée une zone circulaire du rayon donné par l'utilisateur autour des points x1, y1 et vérifie ensuite cette zone pour une collision avec n'importe quelle instance de l'objet spécifié par l'argument "obj". Cette vérification peut être précise ou non, mais pour que les collisions précises soient activées, l'objet ou l'instance que vous recherchez doit également avoir des collisions précises activées pour son image-objet. Sinon, la vérification par défaut est basée sur les boîtes de délimitation. L'image suivante illustre comment cela fonctionne: 
Ici, l'instance au milieu utilise un cercle de collision pour vérifier les objets boule. Maintenant, les bleus n'ont pas de cadre de délimitation précis et comme vous pouvez le voir, même si le sprite ne touche pas réellement le cercle, la collision peut toujours se produire (même si vous définissez l'option précise dans la fonction sur true) comme La boîte englobante de cette image-objet chevauche la zone circulaire définie par collision_circle. D'un autre côté, les boules vertes ne seront considérées en collision que si le sprite réel chevauche le cercle défini. Rappelez - vous, pour des collisions précises à considérer à la fois l'image - objet de l' objet et la fonction de collision doit avoir marqué comme précis sur. Il convient également de noter que la valeur de retour de la fonction peut être l'identifiant de l'une des instances considérées comme étant en collision.
if collision_circle(x, y, 20, obj_Cursor, false,
true)
{
image_index = 1;
}
else image_index = 0;
Le code ci-dessus vérifiera une circulaire avec un rayon de 20pixels pour une collision avec "obj_Cursor" et s'il y en a un, il définira l'index image de l'objet exécutant le code à 1, mais s'il n'y en a pas, il fixera l'image_index du objet à 0.