シューティングの敵やエフェクトの演出の動きなどで使われている移動処理です。この移動方法で使用される方法として「中心位置からの移動」「向きベクトルによる移動」があります。どちらにも三角関数などの計算処理が入りますので苦手な方はそちらを確認した方がいいと思います。■中心位置からの移動この移動方法は「中心座標から角度、半径の長さによって割り出された位置を描画座標に加算して新しい描画座標」にします。●メリット・三角関数だけで済むこの方法は三角関数のsinとcosの計算結果を使用して座標を割り出します。一つの方法はベクトルの考えを理解していた方がわかりやすいためどちらかといえばこちらの方法の方が簡単です。・円の動きをそのままに移動させれる円の動きをさせつつ上下左右に移動させたいと考えた時に中心座標を移動させるだけでいいので簡単に円の動きを意識せずに移動させることができます。描画位置がずれる可能性がありますが、こちらの方法ではずれることはありません。●デメリット・専用のメンバが増える構造体などで管理する際に中心座標を追加する必要があります。共通の構造体で考えている場合、ほかで使わないメンバが存在することになります。サンプル(Sample01)では以下のような形で用意しています。使用して計算を行い、その結果を中心座標に加算します。計算結果を反映後、角度を更新します。三角関数を使用し、円の位置を割り出す。向きベクトルの移動は「オブジェクトがどの方向を向いているかというベクトルを利用して円の動きをさせる方法」です。毎フレーム少しずつオブジェクトの向きを変更していくことで、円の動きを実現しますがこちらはあくまで、円に近い動きができるだけですので、いくつか問題があります。3Dアクションゲームのキャラクターの旋回の動きなどはこの方法が使用されていることが多いです。●メリット・専用となるメンバが少ないこの方法は「中心位置からの移動」と比較して、専用のメンバの宣言を少なくすることができます。円運動をしないオブジェクトの邪魔になることはありません。・柔軟に作りやすい直進してきてから突然円を描く動きを行うなどの実装が「中心位置からの移動」と比較して簡単にできます。●デメリット・ベクトルの知識がいるこの方法を理解するには三角関数の知識の他にベクトルの知識がないとわかりづらくなっています。・誤差が出る同じ位置で円運動をさせていたら少しずつ計算誤差が生じてきて長時間処理を行っていると描画位置がずれる可能性があります。・円運動にならない毎フレームで変更する角度が大きすぎると円運動にならないことがあります。毎フレーム90度角度変更をすると円ではなく四角に動きます。サンプル(Sample02)では以下のような形で用意しています。使用して計算を行い、その結果を描画座標に加算します。計算結果を反映後、角度を更新します。三角関数を使用し、円の位置を割り出す。10.0f;探している内容が見つからなかったら以下のサイトにあるかもしれません。筆者が開発にかかわらせてもらったアプリのリンクです。