World:setCallbacks (Français)

Définit les fonctions de rappel pour les collisions pendant les mises à jour du monde.

Quatre fonctions Lua peuvent être données comme arguments. La valeur nil (nul) retire une fonction.

Trois arguments sont passés à chaque fonctions lorsqu'elles sont appelées. Les deux premiers arguments sont des points fixes entrant en collision et les troisième argument est le Contact entre eux. la fonction de rappel postSolve (postrésolution) récupère de plus la normale et la tangante de l'impulsion pour chaque point de contact. Voir les notes.

Les Contacts peuvent être détruits immédiatement après que la fonction de rappel soit appelée. Donc, si vous désirez conserver les données pour une utilisation ultérieure dans love.update, vous devez les garder en cache.

Si vous désirez connaître à quel moment exactement chaque fonction de rappel est appelée, consultez le manuel de Box2d.

O.png Les changements au sein d'un World (monde) ne sont pas permis dans les fonctions de rappel beginContact, endContact, preSolve, et postSolve, puisque Box2D verrouille le monde pendant ces fonctions.  


Fonction

Disponible depuis LÖVE 0.8.0
Ce-tte method n'est pas supporté-e par des versions plus anciennes.

Synopsis

World:setCallbacks( beginContact, endContact, preSolve, postSolve )

Arguments

function (Français) beginContact
Appelé lorsque deux points fixes commencent à se superposer.
function (Français) endContact
Appelé lorsque deux points fixes cessent de se superposer. Elle peut également être appelée en dehors de la mise à jour du monde, lorsque des objets entrés e collisions sont détruits..
function (Français) preSolve
Appelé avant qu'une collision ne soit résolue.
function (Français) postSolve
Appelé après qu'une collision ai été résolue.

Retourne

Rien.



Fonction

Supprimé depuis LÖVE 0.8.0
ce-tte variant n'est plus supporté dans cette version et les versions ultérieures.

Synopsis

World:setCallbacks( add, persist, remove, result )

Arguments

function (Français) add
Appelée lorsque les formes commencent à entrer en collision.
function (Français) persist
Appelée à chaque image temporelle, si une collision dure plus d'une image.
function (Français) remove
Appelée lorsque deux formes cessent d'être en collision.
function (Français) result
Appelée après le calcul d'une collision. Note : Cette fonction de rappel n'est pas complétement délimitée dans LOVE au moment de l'écriture, il en résulte que cette fonction de rappel n'est pas appelée ni que des arguments propres ne lui soient passés.

Retourne

Rien.

Notes

Ci-dessous se trouvent les paramètres pour la fonction de rappel postSolve (postrésolution). Il faut noter que le nombres des normales et tangentes d'impulsion correspondent au nombre de points de contacts.

function postSolve(fixture1, fixture2, contact, normal_impulse1, tangent_impulse1, normal_impulse2, tangent_impulse2)
-- Fait quelque chose
end

Voir également


Autres langues