|
相手が右にいるのか左にいるのかを判断する |
| ダウンロード : 左右判定サンプル(2005/03/21) |
|
D3DXMATRIX mtxRot90; // メンバ変数で宣言する D3DXMatrixRotationZ(&mtxRot90, D3DXToRadian(90)); |
|
D3DXVECTOR2 vec2Temp; D3DXVECTOR2 vec2Local = vec2Target - vec2Player; // ローカル座標を計算する FLOAT fAngle = D3DXVec2Dot( // 内積を得る D3DXVec2TransformCoord(&vec2Temp, &vec2Direction, &mtxRot90), &vec2Local ); |
|
#define RANGE_ZERO (10.0f) // ゼロと判断する値の範囲 if (fAngle < +RANGE_ZERO && fAngle > -RANGE_ZERO) { // 相手は自分の進行ベクトルの線上にいます。 } else if (fAngle > 0.0f) { // 相手は右にいます。 } else { // 相手は左にいます。 } |