0
は私がこの機能この回転GLMは
auto rotateMat = rotate(mat4{}, timer * 0.4f, {0, 1, 0});
にtimer
を送りしかし、問題がある
if (key == GLFW_KEY_S && action == GLFW_REPEAT) {
timer = glfwGetTime();
}
を使用して、キー保留に回転したいオブジェクトを持って、私はキーホールド時間によってオブジェクトを回転させますS
が押され、オブジェクトが回転していますが、解放すると、glfwGetTime()
がリアルタイムに取得されるため、時間はもちろん変化しています。その後、もう一度S
を押して回転させますが、停止したときとは異なるオブジェクトの角度から回転を開始します。どのようにそれを修正するための任意のアイデア?
EDIT:
Iは timer += 0.1;
を使用してそれを修正しているしかし、私はS
を押してそれを保持するときに、オブジェクトが回転し始めるまで、それは1秒程度の遅延を有します。実際のglfwGetTime()
を使用した場合と同じでした。どのように私は遅延を持つことができますか?
は遅延が固定されて、ありがとうございますが、私は左に回転させるようにしたいので、 、私は 'pressedLastTick = -glfwGetTime();を行います。これは、他の側へのローテーションの場合で、これは時間の値を引いているので、うまくいきません。どうすればそれを避けることができますか? – Ady96
複数のキーを考慮に入れて回答を書き直しました。 – mazatwork