目次 - 4.関数 - 4.6エフェクト - Mix_SetPosition

# Mix_SetPosition

`int Mix_SetPosition(int channel, Sint16 angle, Uint8 distance)`

channel
  エフェクトを登録するチャネル番号. MIX_CHANNEL_POSTとするとミキシングの後の処理
angle
  0〜360度の前方からの相対角度. それよりも大きな角度は 角度 % 360 となる.
  0 = 前方
  90 = 右
  180 = 背面
  270 = 左
  前方から始まり時計回りと考えるとよい. 結果としてMix_SetPanningと似たエフェクトになる
distance
  聞き手との距離. 0(近い/大きい)〜255(遠い/小さい)

このエフェクトは3D音声をシミュレートする. あまりリアリティはないが, リアリティを増す手助けにはなりうる. カメラの視点からのangleとdistanceは, パンと減衰のエフェクトになる. よりよい位置オーディオを探しているならば, OpenALを使うことを勧める.

メモ: angleとdistanceの両方を0にするとchannelからこのエフェクトを削除する. チャネルに対してMix_UnregisterAllEffectsを使うことを除けば, この方法以外で削除することはできない.

戻り値: チャネルが不正, Mix_RegisterEffectに失敗などのとき0(偽)

## サンプルコード

`

    // チャネル2を右後方の100単位距離にする
    if(!Mix_SetPosition(2, 135, 100)) {
        printf("Mix_SetPosition: %s\n", Mix_GetError());
        // 位置エフェクトがない?
    }

`

## 参照

Mix_SetPanning, Mix_SetDistance, Mix_UnregisterAllEffects

## 原文へのリンク

4.6.7 Mix_SetPosition