DirextX7 サーフェスのロックについて

解決


ノア  2004-10-22 08:12:08  No: 86168

VBでDirextX7を使用しているのですが。
サーフェスのロック方法について質問させてください。

VCのコードを参考に以下のようなコードを書いたのですが。
引数にNULLは使用できません、などのエラーがでて実行できません。
どなたか、サーフェスのロック方法をご存知でしたら、教えてください。

dim ddsd as DDSURFACEDESC2  
lpSurface.Lock(NULL, ddsd, 0, NULL)


黒猫トラ  2004-10-23 06:38:47  No: 86169

Lockの第一引数にはロックする範囲を指定したRECT型を指定します。

どんな用途と条件でロックしようとしているのかわからないですが、
イメージデータ等の書き込みをするならば、こんな感じでしょうか。

    Dim rct As RECT
    Dim wk() As Byte
    Dim ds As DDSURFACEDESC2
    With rct
        .Left = 0
        .Top = 0
        .Right = texsz_x - 1
        .Bottom = texsz_y - 1
    End With
    lpSurface.Lock rct, ds, DDLOCK_WAIT Or DDLOCK_WRITEONLY, 0
    lpSurface.GetLockedArray wk()
        :
      wk()にイメージをつっこむ。
        :
    lpSurface.Unlock rct


ノア  2004-10-23 08:14:27  No: 86170

回答ありがとう御座いました。
さっそく試してみます。


ノア  2004-10-23 11:26:39  No: 86171

回答ありがとう御座いました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加