Microsoft DirectX 8.0 (Visual Basic)

エンベロープとオフセット

エンベロープ とオフセットを使って、いくつかの基本的マグニチュードを変更することができる。概要については、「フォース フィードバックの基本概念」を参照すること。

エフェクトの作成または変更の際にエンベロープを適用するには、DIEFFECT 型の bUseEnvelope メンバを TRUE に設定し、DIENVELOPE 型の envelope メンバを初期化する。

どのエフェクトがエンベロープをサポートするかを決定するのはデバイス ドライバである。通常は、コンスタント フォース、傾斜フォースおよび周期的フォースにエンベロープを適用できるが、条件には適用できない。特定のフォースがエンベロープをサポートするかどうかを判定するには、DirectInputEnumEffects.GetStaticParams メソッドを呼び出し、返された値の DIEP_ENVELOPE フラグをチェックする。

オフセットを適用するには、DIEFFECTperiodicForce、conditionX、または conditionY の各メンバで使用される、DIPERIODICFORCE 型または DICONDITION 型の lOffset メンバを設定する。周期的エフェクトの場合、オフセットの絶対値とエフェクトのマグニチュードを足した値が 10,000 を超えてはならない。

オフセットをコンスタント フォースや傾斜フォースに適用することはできない。コンスタント フォースや傾斜フォースの場合、マグニチュードを変更することによって同じエフェクトを発生させることができる。