Заставить элемент поворачиваться в положение мыши, после другого поворота - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь сделать танковый симулятор.Это строго на делениях, а не на холсте и т. Д. Он уже вращается и движется вперед / назад, как я хочу, но вращение башни немного проблематично.Я дошел до того, что турель поворачивается к указателю мыши, однако, когда корпус танка вращается, вращение башни не учитывает его (оно вращается вместе с корпусом танка).У кого-нибудь есть идеи, как заставить его работать так, чтобы турель ВСЕГДА указывала на курсор мыши?

Желательно в чистом JS.

Он слишком большой для вставки, поэтому я просто сделаю ссылку на скрипку:

https://jsfiddle.net/9pom714a/

Образециз обработчика mousemove:

window.addEventListener('mousemove', (e) => {
    mouseX = e.clientX - field.offsetLeft;
    mouseY = e.clientY - field.offsetTop;

    turretAngle = Math.atan2(mouseX - turretBaseX, -(mouseY - turretBaseY)) * (180/Math.PI);

    turretBase.style.transform = 'rotate(' + turretAngle + 'deg)';
})

Я знаю, что код - это беспорядок, я сделаю его рефакторинг после того, как все заработает;)

1 Ответ

0 голосов
/ 02 октября 2018

вычленение танка. Угол к башне.

...