問題タブ [acceleration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 2D宇宙船のキャッピング速度
ですから、プログラミング言語を学んでいる他の人たちと同じように、私は自分自身に宇宙船ゲームプロジェクトを与えました。これまでのところ、視差のある星と、宇宙船のゲームに期待するすべての素晴らしいものがあります。船はゲーム画面の中央に留まり、360度回転でき、推力と惰性走行が可能で、通常は宇宙空間の物体のように適切に動作します。しかし、船の速度を制限することに関して、私は小さな問題を抱えています。
船にはdxとdyの値があり(update()関数を介して星に変換されるため、実際に移動します)、直面している角度に基づいて、x軸またはy軸のいずれかに推力を適用します。船に最高速度(たとえば5)と加速度(フレームあたり0.1)を与えます。突っ込むと、船は思った通り加速します。私はデジタル入力デバイス(矢印キー)を使用しているため、スラスターは常に100%で、スロットル制御はありません。船の現在のdxとdyによって作成された三角形のハイポテヌスをチェックして、現在の速度を決定します。また、その移動角度も追跡します(後のAIで使用するため、武器が発射されます。下矢印を押すと、船はこの値を使用して、現在の軌道の反対側を向くために回転する必要のある角度を認識します。これは、ブレーキをかけるのに適した自動操縦の一種です)。
船にはこれらの変数があり、必要に応じて更新されます(残りのものは直接関連しないため、これは省略されたリストです)。
この関数を使用して、face_angleに基づいてdxとdyの加速をチェックします。
私は次のように加速のフレームごとに速度を更新します:
私は複数の異なるタイプのチェックで速度を制限しようとしました、そして私はこれを試しました:
そして私はこれを試しました:
最初のバージョンは希望どおりに速度を制限しますが、その後、加速度を完全に変更できないか、反対方向を向いて押してコースを逆にしようとすると、速度が即座に反対方向のmax_speedにジャンプします(max_speed以降)船の現在のface_angleに基づいて常に計算されます)。その計算をmove_angleに変更すると、船が発進し、移動していないときに問題が発生します。
2番目のバージョンでは、速度がしきい値を下回る前に推力を停止した場合に問題が発生します。私は顔と推力についてですが、代わりに推力が負であるため、私が直面している方向とは正反対の、進行している方向にさらに加速します。
私が理想的に望んでいるのは、任意の方向にある値(たとえば、5)で推力を制限できることです。方向を数度変えると、船は数秒後にその方向に曲がります。推力、そして私が顔を向けて推力を出すとき、私は船を予想通りに減速させたいと思います。
誰かがゲームEscapeVelocityをプレイしたことがあるなら、それは私が取り組んでいる一種の移動および制御システムです-あなたがそうするなら、私の「ゴールドスタンダード」のようなものです。
http://adrian.thomas-prestemon.com/game/v3/で私の現在のやや機能しているコードをチェックしてください
これを処理する特定の.jsファイルは、http://adrian.thomas-prestemon.com/game/v3/js/ships.jsにあります。コメントアウトされたコードなどの混乱を許してください。私はこの1週間、全体的な問題のこの特定の部分に取り組んできました。
私はすでにオンラインで利用可能な他の複数のソリューションを調べましたが、私の設計に最も類似しているものは、上記で提供した最初の「if」の例を使用していますが、これはうまくいきません。次のStackOverflowのQ&Aも確認しました。
現在の速度ベクトルからターゲットベクトルへの推力のスムーズな変化のプログラミング
これらのソリューションはすべて非常に素晴らしいように見えますが、私の目的ではすべて少し複雑に見えます。最初の例のように、私はいかなる種類の重力システムも実装する予定はありません。他の2つは関連していますが、私の特定の問題にすぐに役立つものは何も提供していないようです。
基本的な擬似コードおよび/または誰もが提供できる他の種類のヘルプ(私が見逃したかもしれない私の質問に答える何かに直接私を向けるなど)をいただければ幸いです。現在の設定で機能するソリューションを探していますが、このmax_speedのチェックが簡単になる場合は、船の移動コードの機能を少し変更したいと思っています。
このすべてを読むために時間を割いていただきありがとうございます。:)
アップデート:
コードにいくつかの変更を加えたところ、以前よりもはるかにうまく機能するようになりました。完璧ではありませんが、さらに実験、調整、デバッグを行うだけで十分です。:)
opengl - OpenGL を使用して高速化できる幾何学的計算はどれですか
立方体、球体などの交点からの表面計算が必要な集中的な計算を使用するいくつかのプログラムを高速化する必要があります。もちろん、交差点に関連する情報を分析的に計算するには、CUDA を使用して必要なすべての式を指定する必要があります。しかし、結果のサーフェスの適切な近似値が必要なだけなので、OpenGL でそのようなサーフェスを計算または推定できることについて読みました。ご意見をお聞かせいただくか、関連する参考文献を教えていただけないでしょうか
javascript - マウスの移動時にウィンドウをスクロール
Hello all
私が意味するのは、マウスがウィンドウの端 (x または y または両方) に向かって移動している間、ページをスクロールしたいということです。マウスの動きが止まると、ページのスクロールを停止します。
onClick イベントまたはウィンドウの端にあるスクロール ゾーンの使用に基づいてスクロールする方法の例は多数ありますが、マウス カーソルの動きに基づいたものはあまりありません。
どんな助けでも大歓迎です。
ios - UIAccelerationで速度を取得するにはどうすればよいですか?
アプリ「モーション定規」をご存知ですか?iPhoneを動かしてオブジェクトの長さを取得するために使用できます。
iPhoneを動かすときにUIAccelerationから速度を取得するにはどうすればよいですか?
wpf - WPF フェードイン/アウト アニメーションを高速化する方法
フェードイン/フェードアウト中にウィンドウの不透明度を変更してライトボックス効果を実装しました。ウィンドウを最大化すると、この効果に大きな遅延が発生するか、duration プロパティを使用すると、不透明度の変更がスムーズになりません。
私はこれを管理します。ここのように:
このエフェクトはデフォルトで GPU で動作しますか? そうでない場合、どうにかしてこれを管理できますか?
iphone - 加速環境でのデバイスモーション
ピッチとロールの姿勢を表示するアプリ(グラスコックピットアプリ)を作成しました。iPhone / iPadを回転または傾けると、姿勢が正確に表示されます。飛行機で飛んでいるときにデバイスを回転または傾けると、正確に表示されます。さて、デバイスをパネルに押し付けて飛行機を転がすと、姿勢が正確に変化せず、まったく動きません。これは私にとって奇妙な振る舞いであり、飛行機の加速度がデバイスのジャイロの出力に影響を与えることと関係があるのではないかと思います。
任意の洞察をいただければ幸いです。
lua - XNA から来て、コロナの「更新」メカニズム (GameTime、gameTime) とは何ですか?
私はコロナ SDK のコツをつかもうとしています。C# と XNA のバックグラウンドを持っているため、Lua 言語についてはあまり知りません。私が持っている質問は、タッチ矢印が画面に触れたときにオブジェクトを加速したいということです。
XNAでは変数が変更され、そのコードはUpdateセクションで実行されますが、Coronaでそれを行う方法が完全にはわかりません. 現時点では、矢印はこのコードで一定の速度で移動します。
正しい方向への助けや指針をいただければ幸いです。
android - Android:Scrollbar Accelerator?
長いリストがたくさん含まれているAndroidアプリケーションを書いているので、なんとかしてスクロールを高速化する必要があります。たとえば、Androidの連絡先アプリケーションは、文字のリストを使用して、リスト内の特定の場所にすばやくスクロールできるようにします...それは私が探しているものではありません。他のアプリケーションでは、スクロールを開始したときに表示されるハンドル(またはパドル)を使用して、スクロールバーを特定の場所に簡単にドラッグできることを確認しました。これは、私にとってより良い解決策かもしれません。
上記の方法のいずれかに関する情報や、長いリスト(長い意味は500〜750アイテム)のスクロールを高速化する方法に関するその他の提案があるかどうか疑問に思っています。
ありがとう、ハリー
time - Android Java 開発時間の加速化
時速100kmまでの加速時間はどのように計算できますか? さて、!location.hasSpeed() が true の場合に位置リスナーを登録し、位置の時間を変数に格納しました。この場合、速度が 100km/h (27.77 m/s) の速度に達すると、場所の速度から減算し、結果を 1000 で割ります。
これが「疑似コード」です
javascript - javascript を使用して加速スクロール効果を作成するにはどうすればよいですか?
私は JavaScript を初めて使用しますが、これは多くの人が知っていることであり、学んだすべてのことを実際に適用すると、うまくいかないことがわかります。コードを教えていただけても、おそらく役に立たないでしょう。ページのスクロールに関して、物事がどのように、そしてなぜ機能するのかを詳しく説明する必要があります。
アイデアは、1 ページ目から開始することです。そのため、1 ページ目から開始する関数が必要です。上下左右に矢印があります。それらをクリックすると、指定された方向にスムーズにスクロールします。
一度に1つの画面しか表示されないようにする方法ではありますが、スクロールによってナビゲートできる画面領域よりも大きなページを持つという考えは非常に単純です。
必要なもののアイデアはありますが、正確にはわかりません。
スクロールされるページの各部分のサイズを決定する必要があります。これで、スクロールする距離と方向を決定します。
次に、適切な方向にスクロールする実際の関数を作成する必要があります。
疑似コード
次に、どういうわけか機能を停止する必要があります。各矢印は onClick イベント ハンドラーを取得するため (これが適切な用語だと思います)、4 つの関数を作成できます。右、左などにスクロールし、適切な矢印で使用します。
しかし、どうすれば実際にそれを行うことができ、正しい軌道に乗っているのでしょうか?