В настоящее время я кодирую блокбрейкер как упражнение jQuery, и у меня есть проблема с моей ракеткой, которая меняет положение, когда я покидаю игровое поле слева.
Я новичок во всех событиях мыши, и я перепробовал множество решений и идей, найденных здесь, в stackoverflow или в Интернете, даже изменив весь код, но единственный способ найти правильную позицию - это сделайте условие с событием mouseleave, чтобы исправить смещение. Но мне это не нравится, потому что это вызывает больше проблем с позицией, если мышь находится над или под игровым полем, чего у меня не было до этого.
Вероятно, вторая часть этого не работает, но я не вижу, как это изменить.
racket.left = Math.min(canvasWidth - racket.width, Math.max(2, e.offsetX));
См. JSFiddle, чтобы понять, что я имею в виду: https://jsfiddle.net/Shilok/29wu6gj8/1/
Мне нужно то же поведение, что и справа: когда ракетка касается любой из сторон, а мышь находится за пределами игрового поля, ракетка остается там, где она есть (наклеена сбоку!)
Есть идеи?