Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako používať DirectX vo VB

DirectX je jedným z popredných grafických programovacích rozhraní API používané pre hry , simulácie a iné grafické aplikácie , ako je lekársky imaging . Je to len pre systém Windows knižnica k dispozícii pre použitie v C + + , rovnako ako akýkoľvek . NET jazyk , ako je C # alebo VB.net . Jediný krok , nutný pre začatie využívania plného výkonu jednej z popredných grafických API vo svete je pridať odkaz na knižnicu do svojho . Čisté projektu . Pokyny
1

Pravým tlačidlom myši na názov projektu v navigačnom paneli a kliknite na " Pridať odkaz " . Pridať odkazy projektu na Microsoft.DirectX.dll a Microsoft.DirectX.DirectDraw.dll
2

Skopírujte a vložte nasledujúci do hornej časti Main.vb súboru : .

Dovoz Microsoft.DirectXImports Microsoft.DirectX.DirectDraw
3

V hornej časti objektu Controller , vložte nasledujúci deklarácie premenných :

Súkromná Zobraziť ako DevicePrivate pred ako Povrchová = NothingPrivate späť ako názov povrchová = NothingPrivate ako povrchová = NothingPrivate texte ako povrchová = NothingPrivate klipu ako Clipper = NothingPrivate titlescreen As String = Application.StartupPath + " \\ title.bmp " GameTwist GameTwist 4

vložte nasledujúci kód do vašich trieda pod konštruktory :

Private Sub InitDirectDraw ( ) " Používa sa na opis povrchu

Dim popis ako nový SurfaceDescription ( ) ' init Device

display = New Device ( ) # Ak DEBUG Thendisplay.SetCooperativeLevel ( Me , CooperativeLevelFlags.Normal ) # Else ' Nastavte družstevné úroveň a rodičia ,

" setted na celú obrazovku Exkluzívne formulára )

display.SetCooperativeLevel ( me , CooperativeLevelFlags.FullscreenExclusive ) " nastavte klipart rozlíšenie a farebnú hĺbku

" použitý na celej obrazovke ( 640x480 , 16 bitové farby )

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

" Definovať atribúty pre čelná plocha

description.SurfaceCaps.PrimarySurface = true

# Ak DEBUG Thenfront = New Surface ( opis , display ) # Elsedescription.SurfaceCaps.Flip = Truedescription.SurfaceCaps.Complex = TRUE

" Set Back Buffer počet

description.BackBufferCount = 1

" Vytvorenie Povrch s neurčené popisom a zariadenie )

predné = New Surface ( opis , display ) # End Ifdescription.Clear ( ) # Ak DEBUG Thendescription.Width = front.SurfaceDescription.Widthdescription.Height = front.SurfaceDescription.Heightdescription.SurfaceCaps.OffScreenPlain = Trueback = New Surface ( popis , zobrazenie ) # Else " A Caps je sada atribútov používaných väčšina DirectX komponentov

DIM čiapka ako nová SurfaceCaps ( ) " Áno , sme pomocou zadnej vyrovnávacej pamäti

caps.BackBuffer = TRUE

" Associate predné vyrovnávacej pamäte zadnej vyrovnávacej pamäte zadané čiapky

späť = front.GetAttachedSurface ( čiapky ) # End If

" Vytvorenie Clipper

clip = New Clipper ( displej ) '' ' Nastavte región na túto formu

clip.Window = Me ' Nastavte zastrihávač pre čelná plocha

vpredu . Clipper = clip

" Obnoviť popis

description.Clear ( ) ' Vytvorenie titulnej obrazovku

title = nový povrch ( titlescreen , popis , zobrazenie )

description.Clear ( ) ' Nastavte výšku a šírku textu.

description.Width = 600description.Height = 16 ' OffScreenPlain znamená , že táto povrchová

" nie je predné , späť alfa Surface .

description.SurfaceCaps.OffScreenPlain = TRUE

" Vytvorenie textovej Plocha

text = nový povrch ( opis , display ) " Nastavenie backgroup farba

text.ColorFill ( Color.Black ) " Nastavenie bočného farbu textu

text.ForeColor = Color.White " Nakreslite textu na povrch coords ( 0,0 )

text.DrawText ( 0 , 0 , " Managned DirectX Tutorial 1 - Stlačte Enter alebo Escape ukončíte " , true ) End Sub SubPrivate Draw ( ) "Ak je predné nie je vytvoriť , ignorujte túto funkciu

Ak je predná nie je nič ThenReturnEnd Ak

" Ak je minimalizovaný forma , ignorujte túto funkciu

Ak Me.WindowState = FormWindowState.Minimized ThenReturnEnd IfTry " Nakreslite nárok na zadnej vyrovnávacej pamäte pomocou zdroja kopírovať zvracať klipart

back.DrawFast ( 0 , 0 , titulná , DrawFastFlags.Wait )

" Draw text i zadnej vyrovnávacej pamäti cez source kópie zvracať

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

# Ak DEBUG Then ' Draw všetko na prednej

front.Draw ( chrbát , DrawFlags.Wait ) # Else " Robiť flip previesť späť vyrovnávacej pamäte na prednej strane , rýchlejší

# End Iffront.Flip ( chrbát , FlipFlags.Wait )

Catch generatedExceptionName Ako WasStillDrawingExceptionReturnCatch generatedExceptionName Ako SurfaceLostException " Keď sme prišli na povrchy , obnoviť povrchy

RestoreSurfaces ( ) End Sub TryEnd

Private Sub RestoreSurfaces ( ) " Používa sa na opis povrchu

Dim popis ako nový SurfaceDescription ( )

' Obnoviť al povrch asociatívne s prístrojom

display.RestoreAllSurfaces ( ) " prekreslenie texte

text.ColorFill ( Color.Black ) text.DrawText ( 0 , 0 , " Managned DirectX Tutorial 1 - Stlačte klávesu Enter alebo Escape ukončíte " , pravda )

" Pre titulnej obrazovke , musíme

" zlikvidovať ju ako prvý a potom znova vytvoriť to

title.Dispose ( ) title = Nothingtitle = New Surface ( titlescreen , popis , zobrazenie ) ReturnEnd Sub
5

skopírujte a vložte nasledujúci kód do konstruktoru triedy :

InitializeComponent ( ) InitDirectDraw ( ) Me.Cursor.Dispose ( ) Me.Show ( ) Kým CreatedDraw ( ) Application.DoEvents ( ) End While
6

Stlačte " F5 " pre spustenie aplikácie a vidieť title.bmp sa zobrazí na obrazovke .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené