overlaps.lua 890 B

12345678910111213141516171819202122232425262728293031
  1. return {
  2. tag = 'worldCollision',
  3. summary = 'Iterate over pairs of nearby shapes.',
  4. description = [[
  5. Returns an iterator that can be used to iterate over "overlaps", or potential collisions between
  6. pairs of shapes in the World. This should be called after using `World:detectOverlaps` to
  7. compute the list of overlaps. Usually this is called automatically by `World:update`.
  8. ]],
  9. arguments = {},
  10. returns = {
  11. {
  12. name = 'iterator',
  13. type = 'function',
  14. arguments = {},
  15. returns = {},
  16. description = 'A Lua iterator, usable in a for loop.'
  17. }
  18. },
  19. example = [[
  20. world:computeOverlaps()
  21. for shapeA, shapeB in world:overlaps() do
  22. local areColliding = world:collide(shapeA, shapeB)
  23. print(shapeA, shapeB, areColliding)
  24. end
  25. ]],
  26. related = {
  27. 'World:computeOverlaps',
  28. 'World:collide',
  29. 'World:update'
  30. }
  31. }