ForceFeedBack

| | コメント(0) | トラックバック(0)
MSDNのDirectInput(unmanaged)参考に、
ForceFeedBackのコード書いてみたけど、
EffectObjectのコンストラクタで例外でちゃうよ。

ステップ1と2は、前回のコードに含まれてるゲームパッドデバイス取得とかのあたりなので省略。

例外でるのはいいんだけど、どこがおかしいのかもっと詳しく教えてほしいです(´・ω・`)
むしろ、MSDNのmanagedのサンプルコード載せてください。。

//===============================================
#region ステップ3

// 規定値取得
//ForceFeedbackGuid.Triangle;

// EffectGuid 列挙して取得
//foreach (EffectInformation effectInformation in game_diDevice.GetEffects(EffectType.Periodic))
//{
//  Guid effectGuid = effectInformation.EffectGuid;
//}
#endregion

#region ステップ4

DirectInput.Periodic diPeriodic = new Periodic();
diPeriodic.Magnitude = (Int32)DI.NominalMax;
diPeriodic.Offset = 0;
diPeriodic.Phase = 0;
diPeriodic.Period = (Int32)(0.05 * (Int32)DI.Seconds);

DirectInput.Envelope diEnvelope = new Envelope();
diEnvelope.AttackLevel = 0;
diEnvelope.AttackTime = (Int32)(0.5 * (Int32)DI.Seconds);
diEnvelope.FadeLevel = 0;
diEnvelope.FadeTime = (Int32)(1.0 * (Int32)DI.Seconds);

DirectInput.Effect diEffect = new Effect();
diEffect.Flags = EffectFlags.Polar | EffectFlags.ObjectOffsets;
diEffect.Duration = (Int32)(2.0 * (Int32)DI.Seconds);
diEffect.SamplePeriod = 0;
diEffect.Gain = (Int32)DI.NominalMax;
diEffect.TriggerButton = 0;
diEffect.TriggerRepeatInterval = 0;
JoystickState diJoystickState = new JoystickState();
Int32[] axes = { diJoystickState.X, diJoystickState.Y };
Int32[] direction = { 0, 0 };
diEffect.SetAxes(axes);
diEffect.SetDirection(direction);
diEffect.EnvelopeStruct = diEnvelope;
diEffect.Periodic = diPeriodic;

DirectInput.EffectObject diEffectObject = new EffectObject(ForceFeedbackGuid.Triangle, diEffect, game_diDevice);
// 値が有効な範囲じゃないエラーがでる

//DirectInput.EffectObject diEffectObject = new EffectObject(ForceFeedbackGuid.Triangle, game_diDevice);
// これは通るけど、どうやってブルブルさせるんだろ?

#endregion

//===============================================

トラックバック(0)

このブログ記事を参照しているブログ一覧: ForceFeedBack

このブログ記事に対するトラックバックURL: http://www.lirim.net/mt/mt-tb.cgi/8

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、Lirimが2008年7月 6日 11:50に書いたブログ記事です。

ひとつ前のブログ記事は「DirectInput」です。

次のブログ記事は「XNA Game Studio 2.0」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2008/01/22以前のコンテンツは2008/01/22以前のアーカイブのページで見られます。

Powered by Movable Type 4.01a