Problem mit DirectX 8

  • VB6

    Problem mit DirectX 8

    Hab nen Problem. Bin dabei sone Art Autorennspiel zu machen. Zurzeit kann man aber durch Häuser etc. fahren. Wie kann ich ne Kollisionsabfrage starten bzw. die Koordinaten von den Objekten kriegen um eine zu machen. Projekt ist mit Direct X 8.0 gemacht und ich lad die Objekte in ein Mesh. Falls es wichtig ist, heir meine InitGeometry Function

    <pre>
    Public Function InitGeometry() As Boolean
    On Error GoTo Fehler
    Dim mtrlBuffer As D3DXBuffer
    Dim I As Long
    Dim TextureFile As String

    Set Mesh = D3DX.LoadMeshFromX(LevelFileName, D3DXMESH_MANAGED, D3DDevice, Nothing, mtrlBuffer, nMaterials)

    If Mesh Is Nothing Then GoTo Fehler

    ReDim MeshMaterials(nMaterials - 1) As D3DMATERIAL8
    ReDim MeshTextures(nMaterials - 1) As Direct3DTexture8

    Debug.Print "Materials: " & nMaterials

    For I = 0 To nMaterials - 1
    D3DX.BufferGetMaterial mtrlBuffer, I, MeshMaterials(I)
    MeshMaterials(I).Ambient = MeshMaterials(I).diffuse
    TextureFile = D3DX.BufferGetTextureName(mtrlBuffer, I)

    If TextureFile <> "" Then
    Set MeshTextures(I) = D3DX.CreateTextureFromFileEx(D3DDevice, App.Path & "\Texturen\" & TextureFile, 128, 128, _
    D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_LINEAR, _
    D3DX_FILTER_LINEAR, 0, ByVal 0, ByVal 0)
    End If


    Next I
    Debug.Print "Number of Vertices :" & Mesh.GetNumVertices
    InitGeometry = True: Exit Function

    Fehler:
    MsgBox "Fehler beim Laden des Levels:" & Chr$(13) & Chr$(13) _
    & "Mögliche Ursachen:" & Chr$(13) & "1. Kein Level angegeben oder beschädigt" _
    & Chr$(13) & "2. Fehlende Textur"
    InitGeometry = False
    End Function

    </pre>

    <font color="orangered"> Edit by Admin: Ich habe mal einige Zeilenumbrüche eingefügt, weil man sonst so weit nach rechts scrollen musste. </font>


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()