anoniem Geplaatst: 13 februari 2003 Delen Geplaatst: 13 februari 2003 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 Quote Link naar reactie
anoniem Geplaatst: 13 februari 2003 Auteur Delen Geplaatst: 13 februari 2003 Beste kerel, je wilt toch niet zeggen dat je VBA gebruikt he?? :lol: Dat is een VB achtige macro-taal die bij MS-Word zit ja, die heeft lang niet alle mogelijkheden van de gewone VB. Die zul je dus moeten kopen in de winkel. Of een iets oudere versie op een beurs, scheelt een hoop poen. Quote Link naar reactie
anoniem Geplaatst: 15 februari 2003 Auteur Delen Geplaatst: 15 februari 2003 Tja, dat had ik kunnen weten, maar waarom zegt dat @#GRRR#@ boek dat dan niet? Nou moet ik [i:d7e385d296]nog[/i:d7e385d296] meer geld uitgeven.... zucht.... :( Maar wel heel erg bedankt :) Quote Link naar reactie
anoniem Geplaatst: 15 februari 2003 Auteur Delen Geplaatst: 15 februari 2003 Stuur me maar een mailtje, ik kan je wel aan VB helpen. Quote Link naar reactie
anoniem Geplaatst: 15 februari 2003 Auteur Delen Geplaatst: 15 februari 2003 Minder illegaal (lijkend) is [url]http://msdn.microsoft.com/vbasic/downloads/tools/cce/default.asp[/url] Daar haal je een volledige versie van vb5 maar zonder de mogelijkheid om executables te maken Quote Link naar reactie
anoniem Geplaatst: 15 februari 2003 Auteur Delen Geplaatst: 15 februari 2003 Het is juist de bedoeling om exutables (schrijf ik het goed?) te maken. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen