JavaScript - JSで動く車を実装するアイデアとは何ですか?
仅有的幸福
仅有的幸福 2017-05-19 10:17:49
0
4
683

私の個人的なアイデアは、マウスの座標とクリック時の車の座標を取得し、これらの 2 点によって形成される直線と X 軸との間の角度 tan を計算し、setInterval() を使用して増加させることです。車の X 軸方向を 1px ずつ、Y 軸をミリ秒ごとに増加させます。軸は (1*tan)px;
ただし、コードの実装に問題があり、計算された Tan 値は変化し続けます。
私は非常に混乱しています。私の考え方に問題があるのか​​、コードに問題があるのか​​わかりません。専門家の皆様に解決を手伝っていただきたいと願っています。対応する参照コードがあることを願っています~
(グーグルで調べましたが、解決策が見つかりませんでした。先生、明日の朝コードを提出するように頼まれましたが、本当にどうすればいいのか分かりません)

リーリー
仅有的幸福
仅有的幸福

全員に返信(4)
phpcn_u1582

質問

私の個人的なアイデアは、マウスの座標とクリック時の車の座標を取得し、これらの 2 点によって形成される直線と X 軸との間の角度 tan を計算し、setInterval() を使用して X 軸を増加させることです。車の - 軸の方向を 1px ごとに、Y 軸をミリ秒ごとに加算 (1*tan)px;
しかし、コードの実装に問題があり、計算された Tan 値は変化し続けます。
それが私の考え方に問題があるのか​​、それともコードに問題があるのか​​わかりません。対応する参照コードがあることを願っています。グーグルで調べましたが、解決策が見つかりませんでした。インストラクターは、コードを明日の朝提出するように私に言いました。本当にどうすればいいのか分かりません。)
実行可能なコード

リーリー
いいねを押す +0
phpcn_u1582

最初に車の位置を決め、次にマウスポイントの下のclienXの位置を取得します。このclientXを使用して車の$('#car')offset().leftを減算し、正と負の値に基づいて方向を決定し、絶対値に基づいて距離を変更し、車の左側だけで十分です

いいねを押す +0
phpcn_u1582

均一な動きの場合、速度に時間を乗じて各移動の距離を求める必要はありません
現在のx、y
目標x'、y'
速度v
目標までの時間 t= (x'- x)/v
interval 時間間隔 dT
次の位置 次の x" = x + dT*v, y"=..
interval で位置を x", y" に移動するだけです

いいねを押す +0
我想大声告诉你

ロジックは問題ないようですが、方向と X 軸の間の角度の正接を計算したい場合は、次のようにする必要があります

リーリー

そうだ、逆に書いたんだ…

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート