2017-09-16 24 views
0

간단한 질문이 있습니다. 평원의 로고가 무작위로 날아가는 어플리케이션이 있습니다. (그들은 매 X 초마다 왼쪽 여백과 최고 여백의 임의의 새로운 위치를 얻습니다). 비행기의 머리가 그들이 날고있는 각도를 향해 서기 위해 회전시키는 다음 도전.무작위로 주어진 margin-left 및 margin-top 후의 계산 각

실제로 해결책을 찾지 못했습니다. 우리는 무엇을 알고 :

MARGIN-LEFT

MARGIN-TOP

그러나이 값이 지속적으로 비행기가 무작위로 비행으로 변경. 어떤 아이디어 나 제안?

var nh = Math.floor(Math.random() * $(window).height() - 50); 
    var nw = Math.floor(Math.random() * $(window).width() - 50); 
    $('#plane').animate({ top: nh, left: nw}, 10000, function(){}); 
    $('#plane').css({"transform" : "rotate(" + Math.atan2(nh,nw)/Math.PI*180 +"deg)"}); 
+0

사용할 수 있습니다 - 코드를 게시하거나 달성하려고하는지 최소한의 예를 제공하십시오. – skyline3000

+0

var nh = Math.floor (Math.random() * $ (window) .height() - 50); var nw = Math.floor (Math.random() * $ (window) .width() - 50); $ ('# plane'). animate ({top : nh, left : nw}) – Koppany

+0

너무 분명하지 않다면 미안 해요. 10 초마다 새로운 높이와 너비가 계산됩니다. – Koppany

답변

1

그것은 당신이 달성하려고하는지 매우 분명하지 않다 :

UPDATE 여기에 코드의 체크입니다 (순서대로 더 명확합니다).

여백을 기준으로 각도를 계산하기 위해서는, 당신은이 질문은 불분명하다 Math.atan2()

function getAngle(x1,y1,x2,y2){ 
    return Math.atan2(y2-y1,x2-x1)/Math.PI*180 
} 
var angle = getAngle(MARGIN-LEFT, MARGIN-TOP); 
console.log('the angle is',angle,'degrees')