physics_fixture_bind

Cette fonction lie un fixture à une instance.

Syntaxe:

physics_fixture_bind(fixture, target)


Argument La description
fixture l'appareil qui doit être lié
target l'instance cible qui doit recevoir le projecteur (peut être un identifiant d'instance, un identifiant d'objet, un autre ou tous )


Retours: Real


La description

Une fois que nous avons défini notre appareil, il doit être lié à une instance. Cela signifie que ses propriétés sont transférées à l'instance sélectionnée, et non au projecteur lui - même, de sorte qu'un appareil peut être lié à plusieurs instances si toutes doivent avoir les mêmes propriétés. Vous pouvez spécifier un index d'objet pour la cible et toutes les instances présentes dans la pièce recevront les propriétés de ces fixtures (mais pas les nouvelles instances de l'objet créées ultérieurement), ou vous pouvez utiliser les mots-clés spéciaux other et all. Vous pouvez même spécifier un objet parent et toutes les instances enfants avec ce parent recevront également le projecteur. Une fois que le projecteur a été lié à toutes les instances dont vous avez besoin, il peut être supprimé s'il n'est plus nécessaire et les instances avec ces propriétés ne seront pas affectées et conserveront ces propriétés.

Le fixture sera lié à l'instance avec le centre de masse positionné à l'origine de l'instance, et les fixations polygonales sont liées en fonction de la position des points par rapport à l'origine. Si vous souhaitez que votre appareil soit lié à un point autre que l'origine, vous devez utiliser physics_fixture_bind_ext. La fonction renverra également une valeur "id" unique pour la fixture liée ( pas la fixture elle-même ) qui peut ensuite être utilisée pour enlever ("un-bind") les propriétés physiques de l'instance en utilisant la fonction physics_remove_fixture. Cela vous permet d'ajouter et de supprimer des propriétés physiques d'une instance sans détruire et recréer des objets.

Remarque: Les appareils doivent être supprimés lorsqu'ils ne sont plus nécessaires, faute de quoi une fuite de mémoire risque de ralentir et éventuellement de bloquer votre partie.


Exemple:

var fix, inst;
fix = physics_fixture_create();
physics_fixture_set_circle_shape(fix, 16);
physics_fixture_set_density(fix, 1.0);
inst = instance_create_layer(x, y, "Instances", genericBodyObject);
my_fix = physics_fixture_bind(fix, inst);
physics_fixture_delete(fix);

Le code ci-dessus créera un fixture et assignera son index à la variable "fix". Il définit ensuite la forme et la densité de l'appareil avant de le lier à l'instance créée avec l'index pour l'appareil lié stocké dans la variable "my_fix". Enfin, le projecteur est supprimé pour éviter les fuites de mémoire car il n'est plus nécessaire.


Retour: Les luminaires
Suivant: physics_fixture_bind_ext
© Copyright YoYo Games Ltd. 2017 Tous droits réservés