DIEFFECT
フォース フィードバック エフェクトを表す。この型は、エフェクトのパラメータを設定するために DirectInputDevice8.CreateEffect メソッドや DirectInputEffect.SetParameters メソッドに渡される。この型に含まれる既存のパラメータは、DirectInputEffect.GetParameters メソッドで取得される。
Type DIEFFECT
bUseEnvelope As Long
conditionFlags As CONST_DICONDITIONFLAGS
conditionX As DICONDITION
conditionY As DICONDITION
constantForce As DICONSTANTFORCE
envelope As DIENVELOPE
lDuration As Long
lFlags As Long
lGain As Long
lSamplePeriod As Long
lStartDelay As Long
lTriggerButton As Long
lTriggerRepeatInterval As Long
periodicForce As DIPERIODICFORCE
rampForce As DIRAMPFORCE
x As Long
y As Long
End Type
メンバ
- bUseEnvelope
- envelope メンバに記述されるエンベロープがエフェクトに適用される場合は TRUE。
- conditionFlags
- conditionX メンバおよび conditionY メンバの使用を決定する CONST_DICONDITIONFLAGS 列挙のフラグ。
- conditionX
- x 軸の条件のパラメータを表す DICONDITION 型。別の型のエフェクトでは無視される。
- conditionY
- y 軸の条件のパラメータを表す DICONDITION 型。別の型のエフェクトでは無視される。
- constantForce
- コンスタント フォースのパラメータを表す DICONSTANTFORCE 型。別の型のエフェクトでは無視される。
- envelope
- エフェクトに適用されるエンベロープのパラメータを表す DIENVELOPE 型。bUseEnvelope メンバが TRUE の場合にのみ有効。
- lDuration
- マイクロ秒単位のエフェクトの継続時間。-1 という値は、無限の継続時間を表す。無限の継続時間を持つエフェクトにエンベロープが適用されていれば、アタックも適用され、無限の維持期間も適用されることになる。
- lFlags
- ゼロ、またはほかのメンバの解釈方法を指定する CONST_DIEFFFLAGS 列挙のメンバ。
- lGain
- エフェクトに適用されるゲイン。0 〜 10,000 の範囲にある。ゲインとは、エフェクトの全マグニチュードとそのエンベロープに適用されるスケーリング係数である。
- lSamplePeriod
- デバイスがエフェクトをサンプリングする期間 (マイクロ秒単位)。つまり、フォースにおける変化の細分度。この値がゼロであれば、デフォルトの再生サンプリング速度を使用することを意味する。
デバイスが指定の速度でエフェクトをサンプリングできなければ、指定された値に最も近い速度を選択する。
カスタム サンプリング期間の設定は、特殊効果に使用できる。たとえば、サイン波を意図的に大きなサンプリングレートで再生すると、ざらざらした質感をもたらす。
- lStartDelay
- DirectInputEffect.Start を呼び出してからエフェクトを再生するまでに、デバイスが待機する時間 (マイクロ秒単位)。この値がゼロであれば、エフェクトの再生は直ちに開始される。
- lTriggerButton
- エフェクトをトリガするボタンのオフセット値。CONST_DIJOYSTICKOFS 列挙のメンバのいずれか 1 つの値を取る。エフェクトがトリガ ボタンを持たないことを示すには、-1 にする。
- lTriggerRepeatInterval
- ボタンの押下および押し続けによってエフェクトがトリガされたときの、1 回の再生の終了と開始の間隔を表す、マイクロ秒単位の時間。繰り返しを抑制するには、この値を -1 に設定する。
トリガの繰り返しをサポートしないデバイスもある。
- periodicForce
- 周期的エフェクトのパラメータを表す DIPERIODICFORCE 型。別の型のエフェクトでは無視される。
- rampForce
- 傾斜フォースのパラメータを表す DIRAMPFORCE 型。別の型のエフェクトでは無視される。
- x
- エフェクトの方向。多くの場合、方向は北 (通常、y 軸の負側) からの回転量として 1/100 度単位で表される。したがって、ゼロという値は、ユーザーの正面からくるフォースを示し、9000 という値は、ユーザーの右側からくるフォースを示す。以下同様に解釈する。この場合、y はゼロである。
lFlags に DIEFF_CARTESIAN が含まれている場合、これは x 軸上の相対フォース量を表すデカルト座標の値である。たとえば、x = -1 かつ y = 1 である場合、フォースは、南東方向からくる。詳細については、「エフェクトの方向」を参照すること。
- y
- lFlags に DIEFF_CARTESIAN が含まれている場合、これは y 軸上の相対フォース量を表すデカルト座標の値である。それ以外の場合、ゼロでなければならない。