3
速いものを遅く見えるようにする(Box2D)
私はあなたがトレビュシェットを操作して対戦相手にボールを投げるゲームに取り組んでいます。 「中世の包囲」と呼ばれるゲームのようなものです。トレビュシェットが腕を振っているとき、プレーヤーはボタンを押してボールをリリースする最高の瞬間をつかむ必要があります。その後、ボールは接線角度で飛行します。 私の今の問題は、トレビュシェットの腕が速く振れすぎて、プレーヤーが適切な瞬間を捉えられないことです。その間、それはこれほど速くなければなりません、さもなければそれは十分に投げることができません。また、ボールとトレビュシェットアームをつなぐ小さなひもがあり、アームの動きが遅すぎると、アームが動くときにボールがひもにぶら下がっています。 ステップサイズを切り替えることで問題を解決し、腕を振るたびに、ステップサイズを1/60から1/200に変更します。そして、プレーヤーがボールをリリースすると、それは1/60に戻ります。 これは、私のゲームがネットワーキングを備えたマルチプレイヤー用であることを除いて、かなりうまくいきます。したがって、ステップを変更すると問題が発生する可能性があります。 私が考えることができるもう1つの解決策は、ゆっくりスイングできるようにすることですが、プレーヤーがボールをリリースするとき、方向を維持しながら手動でボールに速度を追加します。私はこのソリューションがあまり好きではないので、見た目が偽になり、ストリングを非常に短くしない限り、ボールがストリングにぶら下がっているという問題がまだあります。 これに少し光を当ててください、ありがとう! 編集 みんなの意見をありがとう、私は腕をゆっくり振って問題を解決し、プレーヤーがボールをリリースするとき、ボールの速度と2倍をつかみます。これは、ステップサイズを変更した場合とまったく同じように見えます。やらなければならないことがもう1つあります。腕の揺れが非常に遅いため、ボールが揺れるのではなく、腕の端にぶら下がっているだけです。私は、スイング期間中およびスイング期間中のみ、ボールに重力と等しい力を加えることによってこれを解決しました。それから、それはもはやそこにぶら下がらず、腕と一緒にスイングします。 @MrCrankyの答えは詳細であり、実行可能であるように見えるので、私はそれを受け入れます。:)