いちばんやさしいゲームの作り方

文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ

角度からX座標とY座標の移動量を計算するのは誰もがいつかは直面する課題です。現在のカリキュラムでは三角法を履修しない学校も多いため掲載することにしました(ゆとり?)。

まず円周率を定義します。

const double PI = 3.141592653589793f;

次に角度とスピードを決定します。

double degree = 45.0f; // 角度(サンプル)
double speed = 8.0f; // スピード(サンプル)

次に角度をラジアンという単位に変換します。初級ゲームプログラミングであれば内容を理解する必要はありません。この行程が必要なんだなぁ…、程度で問題ありません。

double radian = (degree * PI) / 180.0f;

次に三角関数に食わせて結果の値を取得します。

double vectorX =   cos(radian);
double vectorY = -(sin(radian)); // Y 座標の原点が左下の場合は符号を反転してください。

実は sin() と cos() の結果は -1 ~ 1 までの数値になるため、最後に移動量で乗算して完了です。

vectorX = vectorX * speed;
vectorY = vectorY * speed;

vectorX がX座標の移動量、 vectorY がY座標の移動量です。

Contributions




Trackback URL

メルマガ登録・解除
 
挫折不可能!初級ゲームプログラミング完全マニュアル
RSS track feedいちばんやさしいゲームの作り方 TECHNORATI お気に入りに追加する
フィードメーター - いちばんやさしいゲームの作り方 ブログSEO対策:track word カウンター
Firefox meter あわせて読みたい SEO STATUS
このページの先頭へ