DirectD3RM - 半透明
ここに載せてあるソースコードは、参考のために載せてあります
サンプルコードは、一番下にLZHとしてあります
Option Explicit Dim frame(1) As Direct3DRMFrame3 Dim mesh(1) As Direct3DRMMeshBuilder3 Private Sub Form_Load() Dim j As Integer With RMCanvas1 '小窓でDirect3Dを使うことを宣言します .StartWindowed 'TrueAlpha(半透明)機能を有効にします .Device.SetRenderMode D3DRMRENDERMODE_BLENDEDTRANSPARENCY Or D3DRMRENDERMODE_SORTEDTRANSPARENCY '処理いろいろです '配列とForを使ってソースコードをコンパクトにしています For j = 0 To 1 'フレームを生成します Set frame(j) = .D3DRM.CreateFrame(.SceneFrame) '縦にひらっぺったい板を作成します Set mesh(j) = .CreateBoxMesh(3, 3, 0.1) '処理を分けています If j = 0 Then 'テクスチャを貼り付けます mesh(j).SetTexture .CreateUpdateableTexture(64, 64, App.Path & "\flag.bmp") ElseIf j = 1 Then 'TrueAlpha機能を使用します(50%透明) mesh(j).SetColor .dx.CreateColorRGBA(1, 1, 1, 0.5) 'テクスチャを貼り付けます mesh(j).SetTexture .CreateUpdateableTexture(64, 64, App.Path & "\lake.bmp") End If 'メッシュをフレームにくっつけます frame(j).AddVisual mesh(j) 'jの値によってフレームを手前にもっていきます frame(j).SetPosition Nothing, 0, 0, -j * 5 + 5 '回転ベクトルを与えます frame(j).SetRotation Nothing, 1, 1, j, 0.04 Next End With 'Updataを開始します Timer1.Interval = 1 End Sub Private Sub Timer1_Timer() '処理結果を描画します RMCanvas1.Update End Sub |