[How 2] DirectX in Visual Basic Initialisieren
[ Nach unten | Zum letzten Beitrag | Thema abonnieren | Neueste Beiträge zuerst ]
[How 2] DirectX in Visual Basic Initialisieren
von CranKSoftware am 28.04.2012 17:27Hi! In diesem kleinen How-2 zeige ich euch, wie ihr DirectX 9 in Visual Basic Initialisiert.
Als erstes braucht ihr das DirectX 9 SDK, das ihr hier Downloaden könnt:
http://www.microsoft.com/en-us/download/details.aspx?id=21416 [228 MB]
Schritt 1: Neues VisualBasic-Projekt erstellen
Öffnet Visual Basic, erstellt ein Neues Projekt und wählt "Windows Forms".
Schritt 2: Verweise festlegen
Um DirectX 9 nutzen zu können, müsst ihr zuerst einige Verweise festlegen.
Klickt dazu auf Projekt -> Verweis hinzufügen -> .NET und fügt folgende Verweise hinzu:
Microsoft.DirectX.DirectX
Microsoft.DirectX.Direct3D
Microsoft.DirectX.Direct3DX
Schritt 3: Prozessorarchitektur festlegen
Damit alles richtig funktioniert, müsst ihr noch eure Prozessorarchitektur angeben.
Ihr findet die Prozessorarchitektur folgendermaßen heraus:
Startmenü -> Rechtsklick auf Computer bzw. Arbeitsplatz -> Eigenschaften
Schritt 4: Variablen festlegen
Zu Anfang des Projekts müssen noch einige Imports-Anweisungen und Variablen festgelegt werden.
Imports-Anweisungen:
Imports Microsoft
Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D
Imports System.ComponentModel
Variablen (Direkt unter Public Class Form1):
Public Dev As Device 'Erstellt eine Variable für ein DirectX-Gerät
Public Parameter As PresentParameters 'Parameter für das DirectX-Gerät
WithEvents BackgroundWorker1 As New BackgroundWorker
Schritt 5: DirectX Initialisieren
Jetzt brauchen wir eine neue Sub, die DirectX 9 Initialisiert.
Public Sub initialsieren()
Parameter = New PresentParameters
Parameter.Windowed = True ' Fenstermodus aktivieren
Parameter.SwapEffect = SwapEffect.Discard 'SwapEffect
Parameter.EnableAutoDepthStencil = True ' Maske für Autotiefe
Parameter.AutoDepthStencilFormat = DepthFormat.D16 ' Maskenformat
Dev = New Device(0, DeviceType.Hardware, Me.Handle, _
CreateFlags.SoftwareVertexProcessing, _
Parameter) ' Form1 ist der Besitzer
End Sub
Schritt 6: Background Worker konfigurieren
Nun konfigurieren wir den Background Worker wie folgt:
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, _
ByVal e As System.ComponentModel.DoWorkEventArgs) _
Handles BackgroundWorker1.DoWork
While True
Dev.Clear(ClearFlags.Target Or ClearFlags.ZBuffer, _
Color.Yellow, 1, 0) ' Einen gelben Hintergrund zeichnen
Dev.Present() ' Darstellen (Sonst funktioniert nichts (;)
End While
End Sub
Schritt 7: Alles zum laufen bringen
Als letztes schreiben wir noch folgendes in die Private Sub Form1_Load:
initialsieren()
BackgroundWorker1.RunWorkerAsync()
So... Das war´s auch schon (;
Viel Spaß damit!
Option Explicit On
Option Infer On
Antworten