Ga naar inhoud

3D programmeren met Visual Basic


anoniem

Aanbevolen berichten

Hoi allemaal, ik heb laatst een boek gekocht om 3d-games te maken met visual basic. Helaas geeft windows telkens een foutmelding, zelfs bij de programma's die op cd bijgleverde cd staan. Een van de programmacode's staat hieronderaan (hier wordt nog geeneens 3d bij gebruikt, maar je hebt toch directx 8.0 nodig), maar werkt niet helemaal. Ik heb het idee dat ik het verkeerd aanpak, want ik start visual basic vanuit MS Words, en kan niet kiezen voor een '.exe - file' zoals in het boek (en andere boeken over visual basic) staat. Moet ik VB anders opstarten? Of heb ik een ander programma nodig?. Hier is de code: (half in het engels,half in het nederlands, eigen vertaling) Dim Dx As DirectX8 'Inclusief DirectX Dim D3D As Direct3D8 'Direct3D Dim D3DDevice As Direct3DDevice8 'Verwijzing naar Hardware Dim bRunning As Boolean 'Running or Not Private Declare Function GetTickCount Lib "kernel32" () As Long 'Framerate berekening Dim LastTimeCheckFPS As Long 'Checkt laatste tijd Dim FramesDrawn As Long 'Number of times drawn Dim FrameRate As Long 'Tegenwoordig tempo van beelden weergave, aantal beelden per seconde Private Sub Form_Load() Me.Show 'Show form bRunning = Initialise() 'Roept initialise die terugkomt met true of false Do While bRunning DoEvents 'IF .... then loop to calculate Frame Rate If GetTickCount - LastTimeCheckFPS >= 1000 Then LastTimeCheck = GetTickCount FrameRate = FramesDrawn 'Framecount FramesDrawn = 0 'Reset Me.Caption = "FPS: " & FrameRate 'Display FPS in caption End If FramesDrawn = FramesDrawn + 1 'Total number of frames Loop 'Will loop until bRunning is set to false On Error Resume Next Set D3DDevice = Nothing Set D3D = Nothing Set Dx = Nothing Unload Me End End Sub 'Begin functie initialize hier: Public Function Initialize() As Boolean 'Return true or false On Error GoTo ErrHandler Dim DispMode As D3DDISPLAYMODE 'Play mode Dim D3DWindow As D3DPRESENT_PARAMETERS 'Viewport Set Dx = New DirectX8 'DirectX object Set D3D = Dx.Direct3DCreate() 'Create Direct3D Interface D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, DispMode 'Get current Mode D3DWindow.Windowed = 1 'Set to Windowed Mode 0 = geen windowmode D3DWindow.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC 'Refresh as Monitor Does D3DWindow.BackBufferFormat = DispMode.Format 'Use Screen Format Just Received Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Form1.hwnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, D3DWindow) Initialize = True 'If success set to true Exit Function ErrHandler: Initialize = False 'If failed, set to fals End Function Public Sub Render() D3DDevice.Clear 0, ByVal 0, D3DCLEAR_TARGET, &HCCCCFF, 1#, 0 D3DDevice.BeginScene 'Plaats rendering code hier! D3DDevice.EndScene D3DDevice.Present ByVal 0, ByVal 0, 0, ByVal 0 'Update to Screen, ByVal _ sends 0 instead of nothing End Sub Hopelijk kan iemand mij hiermee helpen :-? Alvast bedankt! Bart
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...