overlaps.lua 962 B

123456789101112131415161718192021222324252627282930313233343536
  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:computeOverlaps` to
  7. compute the list of overlaps. Usually this is called automatically by `World:update`.
  8. ]],
  9. arguments = {},
  10. returns = {
  11. iterator = {
  12. type = 'function',
  13. arguments = {},
  14. returns = {},
  15. description = 'A Lua iterator, usable in a for loop.'
  16. }
  17. },
  18. variants = {
  19. {
  20. arguments = {},
  21. returns = { 'iterator' }
  22. }
  23. },
  24. example = [[
  25. world:computeOverlaps()
  26. for shapeA, shapeB in world:overlaps() do
  27. local areColliding = world:collide(shapeA, shapeB)
  28. print(shapeA, shapeB, areColliding)
  29. end
  30. ]],
  31. related = {
  32. 'World:computeOverlaps',
  33. 'World:collide',
  34. 'World:update'
  35. }
  36. }