|
ベクトルによる移動処理(初級編) |
|
float fPosX, fPosY; // 自分の位置 |
|
float fVecX, fVecY; // 進行方向 |
|
// 方向設定 fVecX = 1.0f; fVecY = 0.0f; // 移動処理 fPosX += fVecX; fPosY += fVecY; |
|
// 方向設定 fVecX = -1.0f; fVecY = 0.0f; // 移動処理 fPosX += fVecX; fPosY += fVecY; |
|
// 方向設定 fVecX = +0.5f; fVecY = -1.732f; // 移動処理 fPosX += fVecX; fPosY += fVecY; |
|
三角関数を使うには #include <math.h> を記述する。 fVecX を求めるなら cosf(角度) を使う fVecY を求めるなら sinf(角度) を使う |
|
#define RADIAN(x) (3.1415926f * 2 * (x) / 360) |
|
// 方向設定 float fAngle = 160.0f; fVecX = cos(RADIAN(fAngle)); fVecY = sin(RADIAN(fAngle)); // 移動処理 fPosX += fVecX; fPosY += fVecY; |
|
// 方向設定 float fAngle = 160.0f; fVecX = cos(RADIAN(fAngle)); fVecY = sin(RADIAN(fAngle)); // 速度設定 float fSpeed = 2.5f; // 2.5倍のスピードにする fVecX *= fSpeed; fVecY *= fSpeed; // 方向設定 fPosX += fVecX; fPosY += fVecY; |
| > 中級編に進む |