VB-DirectX: Loop? & Buch....(C++?)

Darkhell

Erfahrenes Mitglied
Hi,

ich versuche mir nun Directx in Verbindung mit VB aneignen möchte, habe ich eine Frage.

Wie bekomme ich einen feinen fpsreichen Loop hin. Mit einem Timer wäre ich da schlecht bedient, denke ich.


ich arbeite mit diesem CODE:

PHP:
 Private Sub Main()


    Dim Dx As DirectX7 ' DirectX Objekt deklarieren

    Dim DDraw As DirectDraw7 ' DirectDraw Objekt deklarieren


Dim ddsPrimary As DirectDrawSurface7 ' Primär Surface
Dim ddsBackbuffer As DirectDrawSurface7 ' Backbuffer Surface
Dim ddsdPrimary As DDSURFACEDESC2 'Beschreibung für das Primär Surface
Dim ddsdBackbuffer As DDSURFACEDESC2 'Beschreibung für das Backbuffer Surface
Dim BackRECT As RECT 'RECT für den Backbuffer (wird von manchen Methoden benötigt)
Dim Caps As DDSCAPS2 'wird zum erstellen des Primary Surface benötigt

Set Dx = New DirectX7 ' Neus DirectX7 Objekt
Set DDraw = Dx.DirectDrawCreate("") '‚ es wird eine Instanz von DirectDraw angefertigt

' das CooperativeLevel wird eingestellt
DDraw.SetCooperativeLevel frmMain.hWnd, DDSCL_FULLSCREEN Or DDSCL_ALLOWMODEX Or DDSCL_EXCLUSIVE
'die Auflösung und Farbtiefe des Bildschirmes wird eingestellt
DDraw.SetDisplayMode 640, 480, 16, 0, DDSDM_DEFAULT '16bit = ca. 65000 Farben
'Dimensionen des RECT für den Backbuffer einstellen
BackRECT.Right = 640 'bis 640 Pixel nach rechts (X-Koordinate)
BackRECT.Bottom = 480 'bis 480 Pixel nach unten (Y-Koordinate)
' die Beschreibung des Surfaces wird festgelegt
ddsdPrimary.lFlags = DDSD_CAPS Or DDSD_BACKBUFFERCOUNT
' der Videospeicher (VRAM) wird für das Primarysurface und den Backbuffer verwendet
ddsdPrimary.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE Or DDSCAPS_FLIP Or DDSCAPS_COMPLEX
' Es wird nur ein Backbuffer verwedet (mehrere sind möglich)
ddsdPrimary.lBackBufferCount = 1
' Das PrimayrySurface wird erstellt
Set ddsPrimary = DDraw.CreateSurface(ddsdPrimary)
' Beschreibung des Backbuffers
Caps.lCaps = DDSCAPS_BACKBUFFER
' "Hängt" den Backbuffer an das PrimarySurface an
Set ddsBackbuffer = ddsPrimary.GetAttachedSurface(Caps)
ddsBackbuffer.GetSurfaceDesc ddsdBackbuffer


ddsBackbuffer.DrawText 255, 255, "Hallo Welt", False
    End Sub

Nun noch eine Frage:

Ich habe mal etwas im Netz gestöbert und folgende 3 Bücher gefunden:

http://vb-fun.de/vb/books/book0192.shtml

und

http://vb-fun.de/vb/books/book0002.shtml

und

http://vb-fun.de/vb/books/book0026.shtml


Ich wäre auch bereit in C++ umzusteigen, was ich sowieso schon immer wollte, wenn nicht dieses doofe Visual c++ 2005 gewesen wär...(iosrtream.h-Problem)

Dnake im Vorraus
 
Zurück