マウスのX、Y位置をプレーヤーの位置から16方向のいずれかに変換するための最良の式は何でしょうか。
私はc++、sfml 1.6で作業しているので、すべての位置を簡単に取得できますが、プレーヤーの位置などからの角度に基づいてそれらを変換する方法がわかりません。(私は数学が得意ではなかったし、4つ以上の方向if
についてはステートメントが複雑すぎるように見えます)。
また、方向をデルタX、Yに変換するサーバーに送信して、次のようなことができるようにします。
player.Move(deltaX * speed * GetElapsedTime(), ...Y);