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



		
		          

<戻る

SampleDX03.lzh


http://hp.vector.co.jp/authors/VA015521/