Что такое путь холста и для чего используется ctx.closePath()?

Я работаю над игрой 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();
}

25
задан Damjan Pavlica 2 January 2015 в 00:08
поделиться