Microsoft® Direct3D® 保持モードの Microsoft Visual Basic® コールバックインターフェイスは次のとおりである。
コールバックインターフェイスを使うには、たとえばDirect3DRMDeviceUpdateCallback3の場合であれば、次のような操作を行う。
Implements Direct3DRMDeviceUpdateCallback3
Private Sub Direct3DRMDeviceUpdateCallback3_CallbackRMUpdate( ByVal f As DxVBLib.Direct3DRMDevice3, ByVal arg As Object, ByVal n As Long, Update As DxVBLib.D3DRECT) 'do something End Sub
オブジェクトを削除する。
構文
object_CallbackRMDestroyObject(ByVal args As Object)
要素
- object
- Direct3DRMCallbackオブジェクトを表すオブジェクト式。
- args
- このコールバックに渡されるアプリケーション定義のデータ。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
デバイスが変更されたときはアプリケーションに警告する。このコールバックはアプリケーションで定義される。
構文
object_CallbackRMUpdate(ByVal f As DxVBLib.Direct3DRMDevice3, ByVal arg As Object, ByVal n As Long, Update As DxVBLib.D3DRECT)
要素
- object
- Direct3DRMDeviceUpdateCallback3オブジェクトを表すオブジェクト式。
- f
- このコールバックが適用されるDirect3DRMDevice3オブジェクト。
- arg
- このコールバックに渡されるアプリケーション定義のデータ。
- n
- Updateパラメータに指定された矩形の数。
- Update
- 更新する領域を表すD3DRECTのタイプ。座標はデバイス単位で指定される。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
Direct3DRM3.EnumerateObjectsメソッドの呼び出しに応答するオブジェクトを列挙する。このコールバックはアプリケーションで定義される。
構文
object_CallbackRMEnumerateObjects(ByVal Object As DxVBLib.Direct3DRMObject, ByVal userArgument As Object)
要素
- object
- Direct3DRMEnumerateObjectsCallbackオブジェクトを表すオブジェクト式。
- object
- Direct3DRMObjectオブジェクト。
- userArgument
- このコールバックに渡されるアプリケーション定義のデータ。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
フレームの移動や更新時に、アプリケーションがカスタマイズしたアルゴリズムを適用できるようにする。フレームレートを変更するためにこのコールバックを使用することができる。このコールバックはアプリケーションで定義される。
構文
object_CallbackRMFrameMove(ByVal f As DxVBLib.Direct3DRMFrame3, ByVal arg As Object, ByVal delta As Single)
要素
- object
- Direct3DRMFrameMoveCallback3オブジェクトを表すオブジェクト式。
- f
- 変更しようとしているDirect3DRMFrame3オブジェクト。
- arg
- このコールバックに渡されるアプリケーション定義のデータ。
- delta
- 運動に適用される変化量。フレームの位置を変更するには、直線と回転の2つの要素がある。各要素における変更は、velocity_of_component × deltaに等しい。これらの一方または両方の速度は、任意のフレームを起点として設定することができるが、システムは、自動的にデルタ時間を適用するので、親フレームを起点とした速度に変換する。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
アプリケーションは、親フレームを基準にしてフレームの加速を合成することができる。そのためには、各ティックで、アプリケーションは、子フレームの速度をアプリケーション自身を基準とした(1ティックあたりaユニット)× 1ティックに設定する必要がある。ここで、aは要求された加速度である。これは、ティック当たりのa× deltaに等しい。内部的には、子フレームを基準としたティック当たりのa × deltaは、親フレームを基準とした(v + (a × delta))ユニットに変換される。ここで、vは、親を基準とする子フレームの現在の速度である。
このコールバックを追加または削除するには、Direct3DRMFrame3.AddMoveCallbackおよびDirect3DRMFrame3.DeleteMoveCallbackメソッドを使用する。
システムは、コールバックを使う順序を決定するため、まず階層のトップレベルにあるオブジェクトを検索する。次に、作成された順番にコールバックを使う。
Direct3DRM3.LoadFromFileメソッド内部でオブジェクトのロードを行う。このコールバックはアプリケーションで定義される。
構文
object_CallbackRMLoad(Obj As DxVBLib.Direct3DRMObject, ByVal guid As String, ByVal userArgument As Object)
要素
- object
- Direct3DRMLoadCallbackオブジェクトを表すオブジェクト式。
- Obj
- ロードされるDirect3DRMObjectオブジェクト。
- guid
- ロードされるオブジェクトのグローバルユニーク識別子(GUID)。
- userArgument
- このコールバックに渡されるアプリケーション定義のデータ。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
システムは、コールバックを使う順序を決定するため、まず階層のトップレベルにあるオブジェクトを検索する。次に、作成された順番にコールバックを使う。
参照
LoadFromFileメソッドの内部で、テクスチャファイル (またはリソース) の実際の読み込みを行う。テクスチャは、2で割れる幅と長さでなければならない。このコールバックはアプリケーションで定義される。
構文
object_CallbackRMLoadTexture(ByVal textureName As String, ByVal userArgument As Object) As DxVBLib.Direct3DRMTexture3
要素
- object
- Direct3DRMLoadTextureCallback3オブジェクトを表すオブジェクト式。
- textureName
- テクスチャ名に含まれる文字列。
- userArgument
- このコールバックに渡されるアプリケーション定義のデータ。
戻り値
Direct3DRMTexture3オブジェクトを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
アプリケーションは、Microsoft® Windows®ビットマップ(.bmp)やポータブルピクセルマップビットマップ(.ppm) P6形式以外のテクスチャのサポートをインプリメントするため、このコールバックを使用することができる。P6フォーマットは、色イメージのバイナリファイルフォーマットである
システムは、コールバックを使う順序を決定するため、まず階層のトップレベルにあるオブジェクトを検索する。次に、作成された順番にコールバックを使う。
参照
Direct3DRM3.LoadFromFile、Direct3DRMAnimationSet2.LoadFromFile、Direct3DRMFrame3.LoadFromFile、Direct3DRMMeshBuilder3.LoadFromFile
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.