kikito / bump.lua

A collision detection library for Lua
MIT License
922 stars 86 forks source link

Detect when a collision just started/ended? #57

Open grunkgrunk opened 3 years ago

grunkgrunk commented 3 years ago

Hey! A lot of game engines have callback functions like OnCollisionEnter and OnCollisionExit that allows running some code just when a collision starts/ends. Now I realize that collision callbacks are not used in this library. I'm wondering if this kind of behavior is supported somehow (without using callbacks) or if it's currently up to the user to implement this? If not, would it be of any interest to have this kind of feature or is it out of scope for the project? I would love to try and submit a pull request and write some documentation for it as well :)) I hope this is the right place to ask these sorts of questions. Btw, I really appreciate and enjoy using this library! All the best

flamendless commented 3 years ago

Hi, you can easily have such behavior by using a flag. If there's a collision and the flag is false, that means thats an on_enter collision, then set the flag to true. then when theres no more collision and if the flag was set, set that to false and then that's on_leave collision.

grunkgrunk commented 3 years ago

Jup, I guess I had something like that in mind too. You would just add that property to the collision objects returned by for example move, right? :)

flamendless commented 3 years ago

You would add that to the table you pass into bump as body yes.

doing check or move returns the tables that have collision so yes you can modify that