physics_joint_weld_create

Créer un joint de ligne droite fort mais flexible reliant deux instances selon un angle donné.

Syntaxe:

physics_joint_weld_create(inst1, inst2, anchor_x, anchor_y, ref_angle, freq_hz, damping_ratio, col)


Argument La description
inst1 La première instance à se connecter avec l'articulation
inst2 La deuxième instance pour se connecter avec l'articulation
anchor_x La coordonnée x pour l'articulation, dans le monde du jeu
anchor_y La coordonnée y pour l'articulation, dans le monde du jeu
ref_angle L'angle commun à maintenir
freq_hz C'est la fréquence d'oscillation de l'articulation, en hertz
damping_ratio Ce rapport d'amortissement pour le joint
col Si les deux instances peuvent entrer en collision (vrai) ou non (faux)


Renvoie: Index de l'articulation


La description

Le joint de soudure est conçu pour attacher deux appareils ensemble dans une liaison forte mais flexible. Le joint de soudure permettra la flexion entre les deux appareils joints mais sans l'étirement associé, par exemple, à un joint de distance, et essaiera toujours de "ressort" à l'angle de référence lorsqu'il est soumis à une contrainte ou à une charge quelconque. Vous définissez le point dans la pièce où l'articulation doit être créée, ainsi que l'angle que vous souhaitez que l'articulation essaie de maintenir en permanence, comme indiqué dans l'image ci-dessous:

Comme vous pouvez le voir, les points d'ancrage sont spécifiés comme coordonnées de pièce. Il faut donc faire attention en les définissant, surtout si les instances sont créées en même temps que les articulations plutôt que d'être placées dans la pièce par l'éditeur de pièce. Vous devez également vous rendre compte que les articulations sont créées indépendamment de la taille de l'image-objet des instances ou des installations auxquelles elles sont rattachées. Ainsi, si vous créez un joint de soudure ailleurs que dans l'origine de l'instance, il est toujours valide et contraindra les deux instances par rapport à la position à laquelle il a été créé.

Puisque le joint de soudure est flexible et fléchit et fléchit sous n'importe quelle contrainte, vous pouvez régler la fréquence d'oscillation (en Hz) ainsi que le taux d'amortissement du joint pour obtenir des effets différents - vous devrez peut-être jouer avec ces valeurs Réglez-les et il est recommandé de commencer avec des valeurs plus petites et de les incrémenter jusqu'à ce que vous obteniez l'effet que vous désirez.

Si vous définissez la valeur "col" sur true alors les deux instances peuvent interagir et entrer en collision les unes avec les autres, mais seulement si elles ont des événements de collision, mais si elle est définie sur false, ils ne vont pas entrer en collision, peu importe quoi.


Exemple:

var i, fix, o_id, p_id;
p_id = noone;
o_id = noone;
fix = physics_fixture_create();
physics_fixture_set_box_shape(fix, 64, 32);
for (i = 0; i < 5; i++;)
   {
   o_id = instance_create_layer(x + (128 * i), y, "Instances", obj_BridgePart);
   physics_fixture_bind(fix, o_id);
   if i > 0 && i < 4
      {
      physics_joint_weld_create(p_id, o_id, x + (128 * i) - 64, y, 0, 10, 12, true);
      }
   p_id = o_id;
   }
physics-fixture_delete(fix);

Le code ci-dessus va créer un fixture, puis utiliser une boucle pour créer un certain nombre d'instances, lier le fixture à chaque nouvelle instance et ensuite les assembler en utilisant un joint de soudure. Enfin, le projecteur est supprimé de la mémoire.


Arrière: Articulations
Suivant: physics_joint_friction_create
© Copyright YoYo Games Ltd. 2017 Tous droits réservés