Dator > hur man använder DirectX i VB

  • hur man använder DirectX i VB


  • DirectX är en av de ledande grafikprogrammering API: er som används för spel , simuleringar och andra grafiska tillämpningar såsom medicinsk avbildning. Det är en Windows- bibliotek tillgängliga för användning i C + + , samt alla . NET framework språk som C # eller VB. net . Det enda steg som krävs för att börja utnyttja den fulla kraften i en av de ledande grafik API: er i världen är att lägga till ett bibliotek hänvisning till din netto projekt
    1 .
    Högerklicka på projektets namn i navigationspanelen och klicka på " Add Reference . " Lägg projekt hänvisningar till Microsoft. DirectX. dll och Microsoft. DirectX. DirectDraw. dll
    2
    Kopiera och klistra in följande i toppen av din Main. vb fil : .

    Import Microsoft. DirectX
    Import Microsoft. DirectX. DirectDraw
    3
    På toppen av din Controller objekt , klistra in följande variabel deklarationer .

    Privat displayen som Device
    Privat front som yta=Inget
    Privat tillbaka som yta=Inget
    Privat titel som yta=Inget
    Privat text som yta=Nothing
    Privata klipp som Clipper=Inget
    Privat titlescreen As String=Application . StartupPath + " \ title. bmp "
    4
    Klistra in följande kod i din klass under konstruktorn : .

    Private Sub InitDirectDraw ( )
    "För att beskriva en yta

    Dim beskrivning som ny SurfaceDescription ( )
    " Init Device

    display=ny enhet ( )
    # Om DEBUG Då
    display. SetCooperativeLevel ( Me , CooperativeLevelFlags. Normal )
    # Else
    'Ange kooperativa Nivå och förälder ,

    " setted till helskärm Exklusivt till formuläret )

    display. SetCooperativeLevel ( Me , CooperativeLevelFlags . FullscreenExclusive )
    " Ställ in upplösning och färgdjup

    "som används i helskärmsläge ( 640x480 , 16 bitars färg )

    display. SetDisplayMode 640 ( , 480 , 16 , 0 , False )
    # End If

    " Definiera attribut för främre ytan

    description. SurfaceCaps. PrimarySurface=Sant

    # Om DEBUG Då
    fram=ny yta ( beskrivning , display )
    # Else
    description. SurfaceCaps. Flip=Sant
    description. SurfaceCaps. Complex=Sant

    " Ställ tillbaka Buffer räkna

    beskrivning . BackBufferCount=1

    " Skapa ytan med specifed beskrivning och enhet )

    fram=ny yta ( beskrivning , display )
    # End If
    beskrivning . Clear ( )
    # Om DEBUG Då
    description. Width=front. SurfaceDescription. Width
    description. Height=front. SurfaceDescription. Height
    description. SurfaceCaps. OffScreenPlain=Sant
    tillbaka=ny yta ( beskrivning , display )
    # Else
    " En Caps är en uppsättning attribut som används av de flesta av DirectX komponenter

    Dim mössor som ny SurfaceCaps ( )
    " Ja , vi använder en back buffert

    mössor . BackBuffer=True

    kompanjon fram bufferten att backa buffert med specificerade mössor

    tillbaka=front. GetAttachedSurface (CAPS )
    # End If

    " Skapa Clipper

    klipp=Nya Clipper ( display )
    '' ' Ange regionen att denna form

    clip. Window=Me
    'Ange hårklipparen för framsidan

    front. Clipper=klipp

    " Återställ beskrivningen

    description. Clear ( )
    " Skapa titelskärmen

    title=ny yta ( titlescreen , beskrivning , display )

    beskrivning . Clear ( )
    " Ställ in höjd och bredd på texten .

    description. Width=600
    description. Height=16
    ' OffScreenPlain innebär att denna yta

    "är inte en front , bak , alfa Surface .

    description. SurfaceCaps. OffScreenPlain=True

    " Skapa texten Surface

    text=ny yta ( beskrivning , display )
    'Ange backgroup färg

    text. ColorFill ( Color. Black )
    'Ange förgrunden färg på texten

    text. ForeColor=Color. White
    " Rita Text till den yta som koordinater (0,0 )

    text . DrawText ( 0 , 0 , " Managned DirectX Tutorial 1-Tryck Enter eller Escape för att avsluta " , True )
    End Sub
    Private Sub draw ()
    " Om den främre inte skapa , ignorera detta
    funktion
    Om fronten är ingenting då
    End Return
    Om

    " Om blanketten minimeras , ignorera denna funktion

    Om Me. WindowState=FormWindowState. Minimized Då
    Return
    End If
    Prova
    " Rita titeln på baksidan buffert med Blit källa kopia

    back. DrawFast (0, 0 , titel , DrawFastFlags. Wait )

    " Rita texten också på baksidan bufferten med hjälp av source kopia Blit

    tillbaka . DrawFast ( 10 , 10 , text , DrawFastFlags. Wait )

    # Om DEBUG Då
    " Draw allt detta på framsidan

    front. Draw (rygg , DrawFlags . Vänta )
    # Else
    " Att göra en flip att överföra tillbaka buffert till fronten , snabbare

    # End If
    front. Flip (rygg , FlipFlags. Wait )

    Catch generatedExceptionName Som WasStillDrawingException
    Return
    Catch generatedExceptionName Som SurfaceLostException
    " Om vi förlorat ytor , återställa ytorna

    RestoreSurfaces ( )
    End Prova
    End Sub

    Private Sub RestoreSurfaces ( )
    "för att beskriva en yta

    Dim beskrivning som ny SurfaceDescription ( )

    " Återställ al ytan associed med enheten

    display . RestoreAllSurfaces ( )
    " Rita om texten

    text. ColorFill ( Color. Black )
    text. DrawText ( 0 , 0 , " Managned DirectX Övningsexempel 1-Tryck på Enter eller Escape för att exit " , True )

    " För titelskärmen måste vi

    " kasta det först och sedan återskapa det

    titel . Kasta ( )
    title=Nothing
    title=ny yta ( titlescreen , beskrivning , display )
    Return
    End Sub
    5 .
    Kopiera och klistra in följande kod på din klasskonstruktorn :

    InitializeComponent ( )
    InitDirectDraw ( )
    Me . Cursor. Dispose ( )
    Me. Show ( )
    Medan Skapad
    draw ()
    Application. DoEvents ( )
    slutet medan
    6 .
    Tryck "F5 " för att köra din ansökan och se title. bmp visas på skärmen .

    tips och varningar


  • Den öppna-source , plattformsoberoende alternativ till DirectX kallas OpenGL .

Previous:nothing Next:tutorial för adodc kontroll





Relaterade artiklar


  • hur man skapar MDI applikationer
  • hur du uppdaterar flera kolumner från en annan tabell
  • hur man läser ett hålkort
  • hur man torkar andmat
  • hur man använder arrayer i Visual Basic
  • hur koden ett rutnät 5x5 i C + +
  • Microsoft Visual Basic for Applications tutorial
  • hur man skriver ett datorprogram och använda den på ett nytt företag
  • hur man gör egna spel på Game Maker
  • hur du ändrar bildens bredd med javascript