Я работаю над игрой HTML5. Мне нужно нарисовать хвостовые линии на холсте и проверить пересечения в игре, которая является игрой в стиле Трон.
На самом деле я использую функцию drawLine()
из JCanvas, но JCanvas не предоставил мне способ проверки пересечения линий, я копался в исходниках и нашел используйте объект ctx
, и в конце функции, которую я использую, я вернул объект, чтобы я мог использовать метод ctx.isPointInPath()
для достижения того, что мне нужно, но не работает, каждый раз возвращает false
...
Я действительно не понимаю, что такое путь - будет ли ctx.isPointInPath()
возвращать true
только для точек, установленных с помощью ctx.moveTo()
после ctx.beginPath()
? Или он вернет true
для всех точек, которые находятся между двумя последовательными ctx.moveTo()
, которые связаны с помощью ctx.lineTo()
?
Какая польза от ctx.closePath()
?
А в чем разница между:
{
ctx.closePath();
ctx.fill();
ctx.stroke();
}
и:
{
ctx.fill();
ctx.stroke();
ctx.closePath();
}