アプリケーションはDirect3DRMAnimation2インターフェイスのメソッドを利用して、位置、向き、ビジュアルオブジェクトのスケーリング、照明、ビューポートのアニメーションを行うことができる。
保持モードのアニメーションは、キーセットによって定義される。キーはスケーリング操作、方向、または位置に関連付けられた時間値である。Direct3DRMAnimationオブジェクトは、時間値に応じた変換の修正方法を定義する。アニメーションをDirect3DRMFrameオブジェクト上で動作するようにセットし、Direct3DRMVisual、Direct3DRMLightおよびDirect3DRMViewportオブジェクトの位置、方向、スケーリングのアニメーションを行うために使用することができる。
Direct3DRMAnimation2.AddPositionKey、AddRotateKeyおよびAddScaleKeyの各メソッドは、単位が任意の時間値を指定する。アプリケーションが時間値99の位置キーを追加した場合、たとえば、時間値49の新しい位置キーは、アニメーションの (ゼロを基準とした) 開始点と最初の位置キーとの間のちょうど中間で発生する。
アニメーションの操作は、Direct3DRMAnimation2.SetTimeメソッドを呼び出すことで行われる。これは、ビジュアルオブジェクトの変換をアニメーション中の近くのキーの補間位置、方向、スケールにセットする。アニメーションキーを追加するメソッドと同様に、SetTimeの時間値は、アプリケーションが既に追加済みのキー位置に基づく任意の値である。
IDirect3DRMAnimation2インターフェイスのメソッドは、以下のグループにまとめることができる。
キー | AddKey |
AddPositionKey | |
AddRotateKey | |
AddScaleKey | |
DeleteKey | |
DeleteKeyByID | |
GetKeys | |
GetKeysCount | |
ModifyKey | |
その他 | GetFrame |
SetFrame | |
SetTime | |
オプション | GetOptions |
SetOptions |
Direct3DRMAnimation2インターフェイスは、Direct3DRMObjectインターフェイスから次のメソッドを継承する。
Direct3DRMAnimationオブジェクトは、Direct3DRM3.CreateAnimationメソッドの呼び出しによって取得できる。
新しいキーを追加する。
構文
object.AddKey(key As D3DRMANIMATIONKEY)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- key
- 新しいキーを定義するD3DRMANIMATIONKEYのタイプ。タイプのidメンバは無視され、返る時点で新しいキーのIDがセットされる。
エラー値
エラーが発生した場合は、DDERR_INVALIDOBJECTまたはDDERR_INVALIDPARAMSを返す。
アニメーションに位置キーを追加する。
構文
object.AddPositionKey(time As Single, x As Single, y As Single, z As Single)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- time
- アニメーションの中で位置キーを設定するときの時間。0を原点とする任意の単位の時間を指定することができる。最後のキーのtimeの値が99のとき、timeが49であるキーがアニメーションのちょうど中間である。
- x, y, z
- アニメーションに追加する位置キーの座標。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドによって適用される変換は平行移動である。点 (x, y, z) は新しい点 (x', y', z') に平行移動する。
.
参照
アニメーションに回転キーを追加する。
構文
object.AddRotateKey(time As Single, q As D3DRMQUATERNION)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- time
- アニメーションの中で回転キーを設定するときの時間。0を基準とする任意の単位の時間を指定することができる。最後のキーのtimeの値が99のとき、timeが49であるキーがアニメーションのちょうど中間である。
- q
- 回転を表すD3DRMQUATERNIONのタイプ。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドによって、回転変換が適用される。
参照
アニメーションにスケールキーを追加する。
構文
object.AddScaleKey(time As Single, x As Single, y As Single, z As Single)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- time
- アニメーションの中でスケールキーを記憶するときの時間。0を原点とする任意の単位の時間を指定できる。最後のキーのtimeの値が99のとき、timeが49であるキーがアニメーションのちょうど中間である。
- x, y, z
- アニメーションに追加するスケールキーの座標。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドによって、スケール変換が適用される。
参照
キーをアニメーションから削除する。たとえば、アニメーションに時間tのスケールキーと時間tの回転キーがある場合、両方のキーが削除される。
構文
object.DeleteKey(time As Single)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- time
- アニメーションから削除されるキーを識別する時間。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
固有のIDに対応するキーを削除する。
構文
object.DeleteKeyByID(id As Long)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- id
- 削除するキーのID。
エラー値
エラーが発生した場合は、次の値のうちの1つを返す。
アニメーションに対応するフレームを取り出す。
構文
object.GetFrame( ) As Direct3DRMFrame3
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
戻り値
アニメーションが参照する現在のDirect3DRMFrameオブジェクトのインターフェイスを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
固有の時間に対応するキーを取り出す。
構文
object.GetKeys(timeMin As Single, timeMax As Single, keyArray() As D3DRMANIMATIONKEY)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- timeMin
- 返されるキーの最小時間値。
- timeMax
- 返されるキーの最大時間値。
- keyArray
- キー値がセットされるD3DRMANIMATIONKEYのタイプの配列。
エラー値
エラーが発生した場合は、次の値のうちの1つを返す。
2つの固有の時間の間にあるキーを取得する。
構文
object.GetKeysCount(timeMin As Single, timeMax As Single) As Long
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- timeMin
- 返されるキーの最小時間値。
- timeMax
- 返されるキーの最大時間値。
戻り値
timeMinとtimeMaxの間にあるキーの数を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
アニメーションオプションを取得する。
構文
object.GetOptions( ) As CONST_D3DRMANIMATIONFLAGS
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
戻り値
アニメーションオプションを示すCONST_D3DRMANIMATIONFLAGS列挙の値を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
キー値を修正する。
構文
object.ModifyKey(key As D3DRMANIMATIONKEY)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- key
- 既存のキーの値を定義するD3DRMANIMATIONKEYのタイプ。構造体のIDメンバは、既存のキーでなければならない。
エラー値
エラーが発生した場合は、次の値のうちの1つを返す。
注意
キーのタイプを修正することはできない。キーのタイプを変更するには、オリジナルキーを削除し、新しいキーを追加しなければならない。キーの時間、位置、回転、およびスケール値を修正することはできる。
アニメーションにフレームを設定する。
構文
object.SetFrame(frame As Direct3DRMFrame3)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- frame
- アニメーションに設定するDirect3DRMFrame3オブジェクトを指定する変数。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
アニメーションオプションを設定する。
構文
object.SetOptions(flags As CONST_D3DRMANIMATIONFLAGS)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- flags
- アニメーションオプションを指定するCONST_D3DRMANIMATIONFLAGS列挙の1つまたは複数の値。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
アニメーションに現在の時間を設定する。
構文
object.SetTime(time As Single)
要素
- object
- Direct3DRMAnimation2オブジェクトを表すオブジェクト式。
- time
- アニメーションに設定する新しい現在の時間。0を原点とする任意の単位の時間を指定することができる。最後のキーのtimeの値が99のとき、timeが49であるキーがアニメーションのちょうど中間である。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.