我試圖編寫一個嘴部分,它將直接停留在位圖的前部,但需要成爲一個單獨的對象。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();
顯然使用下面的代碼將放置在X和播放機的方向口-50的y值,但對於1個方向這隻能代替保持在播放器前的嘴:
mouth.x = player.x - 50;
mouth.y = player.y - 50;
我想知道是否有人可以幫助我這個數學?我真的很感激。這裏有兩個圖像,以便更好地解釋事情:
它真的很難理解你想要的東西......你想讓玩家保持距離嘴巴不變的距離並隨之旋轉嗎? –
這與數學有什麼關係? – duffymo
@Ness是的,那正是我要找的。 – Skua