Я знаю, как создать персонажа и перемещать его в HTML Canvas, но я не знаю, как взаимодействовать с препятствиями, например, прыгать на них или быть заблокированным от дальнейшего движения.
Вы хотите сделать обнаружение столкновений. Поддерживайте координаты каждого объекта в игре. Когда объект собирается двигаться, определите, пересекается ли новая позиция с другими объектами.
Подробнее: https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript/Collision_detection
Это, как правило, обрабатывается для вас при использовании игрового движка JavaScript, такого как Phaser или PlayCanvas .