Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Visual Basics Programming >> Content
    Hvordan bruke DirectX i VB
    DirectX er en av de ledende grafikk programmering APIer brukes til spill, simuleringer og andre grafiske programmer som medisinsk bildebehandling . Det er en Windows -only biblioteket tilgjengelig for bruk i C + + , så vel som noen. NET rammeverket språk som C # eller VB.net . Den eneste skritt for å begynne å utnytte den fulle kraften til en av de ledende grafikk-APIer i verden er å legge et bibliotek referanse til din . Netto prosjektet. Instruksjoner
    en

    Høyreklikk på prosjektnavnet i navigasjonsvinduet , og klikk " Add Reference ". Legg prosjekt referanser til Microsoft.DirectX.dll og Microsoft.DirectX.DirectDraw.dll
    2

    Kopier og lim inn følgende i toppen av Main.vb filen: .

    Imports Microsoft.DirectXImports Microsoft.DirectX.DirectDraw
    3

    på toppen av Controller objekt, lim følgende variabeldeklarasjoner :

    Private skjerm Som DevicePrivate foran Som Surface = NothingPrivate tilbake Som Surface = NothingPrivate tittelen Som Surface = NothingPrivate tekst Som Surface = NothingPrivate klipp Som Clipper = NothingPrivate titlescreen As String = Application.StartupPath + "\\ title.bmp "
    4

    Lim inn følgende kode inn i klasse under konstruktør : en

    Private Sub InitDirectDraw () ' Brukes til å beskrive en Surface

    Dim beskrivelse som ny SurfaceDescription ()' Init Device

    display = New Device ( ) # Hvis DEBUG Thendisplay.SetCooperativeLevel (Me , CooperativeLevelFlags.Normal ) # Else ' Sett Cooperative nivå og foreldre , etter

    ' setted til Full Screen Exclusive til skjemaet )

    display.SetCooperativeLevel ( Me, CooperativeLevelFlags.FullscreenExclusive ) ' Sett oppløsningen og fargedybden

    ' brukes i fullskjerm ( 640x480 , 16 bit farge)

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

    ' Definer attributtene for den fremre Surface

    description.SurfaceCaps.PrimarySurface = sant

    # Hvis DEBUG Thenfront = Ny Surface (beskrivelse, display) # Elsedescription.SurfaceCaps.Flip = Truedescription.SurfaceCaps.Complex = sant

    ' Still Back Buffer teller

    description.BackBufferCount = 1

    "Opprett the Surface med specifed beskrivelse og enhet)

    foran = Ny Surface (beskrivelse , display ) # End Ifdescription.Clear ( ) # Hvis DEBUG Thendescription.Width = front.SurfaceDescription.Widthdescription.Height = front.SurfaceDescription.Heightdescription.SurfaceCaps.OffScreenPlain = Trueback = Ny Surface (beskrivelse, vise ) # Else 'A Caps er et sett av attributter som brukes av de fleste av DirectX komponenter

    Dim caps som ny SurfaceCaps () ' Ja , vi bruker en back buffer
    < p> caps.BackBuffer = sant

    ' Knytt foran buffer mot rygg buffer med spesifiserte caps

    tilbake = front.GetAttachedSurface ( caps ) # End Hvis

    ' Opprett Clipper

    klipp = Ny Clipper ( display) '' ' Angi region til denne formen

    clip.Window = meg " Still klipperen for foran Surface

    foran. Clipper = klipp

    ' Reset beskrivelsen

    description.Clear ()' Lag tittelen skjermen

    title = Ny Surface ( titlescreen , beskrivelse , display)
    < p> description.Clear () ' Still inn høyden og bredden på teksten .

    description.Width = 600description.Height = 16 ' OffScreenPlain betyr at dette Surface

    'er ikke en front, tilbake , alfa Surface .

    description.SurfaceCaps.OffScreenPlain = sant

    "Opprett teksten Surface

    text = Ny Surface (beskrivelse, display) ' Sett backgroup farge

    text.ColorFill ( Color.Black ) "Bruk i forgrunnen fargen på teksten

    text.ForeColor = Color.White ' Tegn tekst til overflaten for å coords ( 0,0)

    text.DrawText ( 0 , 0 , " Managned DirectX Tutorial 1 - Trykk Enter eller Esc for å avslutte " , sann) End SubPrivate Sub Draw () ' Hvis den fremre ikke opprette, ignorere denne funksjonen
    < p> Hvis fronten er ingenting ThenReturnEnd Hvis

    ' Hvis skjemaet er minimert, ignorere denne funksjonen
    p Hvis Me.WindowState = FormWindowState.Minimized ThenReturnEnd IfTry ' Tegn tittelen til baksiden buffer ved hjelp av kilde kopi blit

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

    «Tegn også teksten til baksiden buffer ved hjelp kilde kopi blit

    back.DrawFast ( 10, 10 , tekst , DrawFastFlags.Wait )

    # Hvis DEBUG Then ' Tegn alt dette til front

    front.Draw ( rygg, DrawFlags.Wait ) # Else ' gjøre en flip å overføre tilbake buffer til fronten, raskere

    # End Iffront.Flip ( rygg, FlipFlags.Wait )

    Catch generatedExceptionName Som WasStillDrawingExceptionReturnCatch generatedExceptionName Som SurfaceLostException ' Hvis vi mistet overflatene , gjenopprette overflater

    RestoreSurfaces () End TryEnd Gå

    Private Sub RestoreSurfaces () ' Brukes til å beskrive en Surface

    Dim beskrivelse som ny SurfaceDescription ( )

    ' Gjenopprett al overflaten associed med enheten

    display.RestoreAllSurfaces () ' Tegne teksten

    text.ColorFill ( Color.Black ) text.DrawText ( 0 , 0 , " Managned DirectX Tutorial 1 - Trykk Enter eller Esc for å avslutte " , sann)

    ' for tittelen skjermen , må vi

    ' kast det først og deretter gjenskape det

    title.Dispose ( ) title = Nothingtitle = Ny Surface ( titlescreen , beskrivelse , display) ReturnEnd Sub
    5

    Kopier og lim inn følgende kode i din klasse konstruktør : en

    InitializeComponent ( ) InitDirectDraw ( ) Me.Cursor.Dispose ( ) Me.Show ( ) Mens CreatedDraw ( ) Application.DoEvents ( ) End While
    6

    Trykk " F5 " for å kjøre programmet og se title.bmp som vises på skjermen .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan åpner jeg et skjema fra et annet skjema i Visu…
    ·Hvordan koble VB6 til PHP Med ODBC 
    ·Slik formaterer den TimeSpan Eiendom i VB.Net 
    ·Hvordan sette opp sen binding i VB 6.0 
    ·Hvordan bruke Autofilter i VBA 
    ·Hvordan du formaterer tekst til HTML på VBA 
    ·Hvordan skrive et program for å konvertere temperature…
    ·Hvordan bruke Class Fra XSD 
    ·Variable typer i Visual Basic 
    ·Hvordan Auto Scroll tekst i en tekstboks ved hjelp VB.N…
      Anbefalte artikler
    ·Slik Beregn NS2 båndbredde 
    ·Hvordan å utvide en Session Timeout med en mus i ASP.N…
    ·Hvordan fylle datasett & Bind DataGridView i forskjelli…
    ·Hvordan kombinere klasser i Java 
    ·Hvordan Vis PHP File Types 
    ·Hvordan beregne Text Height 
    ·Hvordan finne tid kompleksitet i C + + 
    ·Hvordan bruke Tekst til kolonne på flere kolonner i VB…
    ·Hvor å Endre Java Memory Heap størrelse 
    ·Hvordan skrive en Trainzscript TS2010 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/