Visual Basicコールバックインターフェイス

Microsoft® Direct3D® 保持モードの Microsoft Visual Basic® コールバックインターフェイスは次のとおりである。

コールバックインターフェイスを使うには、たとえばDirect3DRMDeviceUpdateCallback3の場合であれば、次のような操作を行う。

  1. コードエディタウィンドウに次の行をコピーする。
    Implements Direct3DRMDeviceUpdateCallback3
    
  2. Enterキーを押す。
  3. [オブジェクト] ボックスの [Direct3DRMDeviceUpdateCallback3] をクリックする。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
    

Direct3DRMCallback.CallbackRMDestroyObject

オブジェクトを削除する。

構文

object_CallbackRMDestroyObject(ByVal args As Object)

要素

object
Direct3DRMCallbackオブジェクトを表すオブジェクト式。
args
このコールバックに渡されるアプリケーション定義のデータ。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMDeviceUpdateCallback3.CallbackRMUpdate

デバイスが変更されたときはアプリケーションに警告する。このコールバックはアプリケーションで定義される。

構文

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保持モードのエラー値」を参照すること。

Direct3DRMEnumerateObjectsCallback.CallbackRMEnumerateObjects

Direct3DRM3.EnumerateObjectsメソッドの呼び出しに応答するオブジェクトを列挙する。このコールバックはアプリケーションで定義される。

構文

object_CallbackRMEnumerateObjects(ByVal Object As DxVBLib.Direct3DRMObject,
  ByVal userArgument As Object)

要素

object
Direct3DRMEnumerateObjectsCallbackオブジェクトを表すオブジェクト式。
object
Direct3DRMObjectオブジェクト。
userArgument
このコールバックに渡されるアプリケーション定義のデータ。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameMoveCallback3.CallbackRMFrameMove

フレームの移動や更新時に、アプリケーションがカスタマイズしたアルゴリズムを適用できるようにする。フレームレートを変更するためにこのコールバックを使用することができる。このコールバックはアプリケーションで定義される。

構文

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メソッドを使用する。

システムは、コールバックを使う順序を決定するため、まず階層のトップレベルにあるオブジェクトを検索する。次に、作成された順番にコールバックを使う。

Direct3DRMLoadCallback.CallbackRMLoad

Direct3DRM3.LoadFromFileメソッド内部でオブジェクトのロードを行う。このコールバックはアプリケーションで定義される。

構文

object_CallbackRMLoad(Obj As DxVBLib.Direct3DRMObject,
  ByVal guid As String,
  ByVal userArgument As Object)

要素

object
Direct3DRMLoadCallbackオブジェクトを表すオブジェクト式。
Obj
ロードされるDirect3DRMObjectオブジェクト。
guid
ロードされるオブジェクトのグローバルユニーク識別子(GUID)。
userArgument
このコールバックに渡されるアプリケーション定義のデータ。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

システムは、コールバックを使う順序を決定するため、まず階層のトップレベルにあるオブジェクトを検索する。次に、作成された順番にコールバックを使う。

参照

Direct3DRM3.LoadFromFile

Direct3DRMLoadTextureCallback3.CallbackRMLoadTexture

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.LoadFromFileDirect3DRMAnimationSet2.LoadFromFileDirect3DRMFrame3.LoadFromFileDirect3DRMMeshBuilder3.LoadFromFile


トップに戻る トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.