2017-09-16 14 views
0

簡単な質問があります。私はプレーンのロゴがランダムに飛ぶアプリケーションを持っています。 (X秒ごとに左マージンとトップマージンのランダムな新しい位置が得られます)。飛行機の頭が飛行している角度に向かって立つように、それらを回転させる次のチャレンジ。無作為に余白を与えた後の計算角度 - 左と余白トップ

実際に解決策を見つけられませんでした。

MARGIN-LEFT

MARGIN-TOP

しかし、これらの値は、常にランダムに飛ぶ飛行機のように変更する:私たちは知っているだけ。任意のアイデアや提案?ここ

UPDATE(より明白であるためには)、コードの塊です:

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()* $(ウィンドウ).width() - 50); $( '#plane')。アニメーション({トップ:nh、左:nw}) – Koppany

+0

ごめんなさい。 10秒ごとに計算される新しい高さと新しい幅。 – Koppany

答えて

1

それはあなたが達成しようとしているものは非常に明確ではありません。

マージンに基づいて角度を計算するために、あなたはこの質問は不明である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') 
関連する問題