var найти_тело = function()
{
var тело //в переменной есть объект
//координаты луча
var sX = тело.position.x
var sY = тело.position.y
var дистанция = 1000
var eX = sX + дистанция*Math.cos(тело.angle)
var eY = sY + дистанция*Math.sin(тело.angle)
var startPoint = { x: sX, y: sY }
var endPoint = { x: eX, y: eY }
var bodies = Composite.allBodies(world)
var collisions = Query.ray(bodies, startPoint, endPoint)
for (var x=0; x< collisions.length; x++)
{
alert(collisions[x].bodyA.id +'_'+ collisions[x].bodyB.id) //выдает: 11_11, 12_12, 13_13...
}
}
setInterval(найти_тело, 111)
ожидаю получить массив столкновений из которого возьму id ближайшего найденного тела
а получаю странные id которых нет в мире - все id известны
и эти id одинаковы для bodyA и bodyB
и еще с каждой итерацией интервала они растут на единицу
возможно этот id вспомогательной линии (ray) которую рисует движок - но знание этого пока никак не помогает