Я пытаюсь закодировать часть рта, которая останется прямо в начале растрового изображения, но должна быть отдельным объектом.Javascript - Как сделать объект прямо перед другим?
В настоящее время мой код выглядит следующим образом:
// LOCATION:
var xDistance = stage.getStage().mouseX - player.x;
var yDistance = stage.getStage().mouseY - player.y;
var distance = Math.sqrt(xDistance * xDistance + yDistance * yDistance);
var x = player.x += xDistance * easingAmount;
var y = player.y += yDistance * easingAmount;
if (distance > 1) {
player.x += xDistance * easingAmount;
player.y += yDistance * easingAmount;
}
// ROTATION:
var degrees = (Math.atan2(yDistance, xDistance) * 180/Math.PI) - 90;
if(degrees >= 360) {
degrees -= 360;
}
player.rotation = degrees;
stage.update();
Очевидно, используя следующий код поместит й и у значения рта -50 в направлении игрока, но это работает только на 1-м направления вместо удержания рта перед игроком:
mouth.x = player.x - 50;
mouth.y = player.y - 50;
Мне было интересно, может ли кто-нибудь помочь мне с этой математикой? Я был бы очень признателен. Вот 2 изображений, чтобы лучше объяснить вещи:
Его действительно сложно понять, что вы хотите точно ... Вы хотите, чтобы игрок поддерживал постоянное расстояние от рта и вращался вместе с ним? –
Что это связано с математикой? – duffymo
@Ness Да, это именно то, что я ищу. – Skua