Programação  
 
Conhecimento computador >> Programação >> Programação Visual Basics >> 
Como usar o DirectX em VB
DirectX é um dos principais gráficos de programação APIs usadas para jogos , simulações e outras aplicações de gráficos, tais como imagens médicas. É um somente para Windows biblioteca disponível para uso em C + + , assim como qualquer língua. NET como C # ou VB.net . O único passo necessário para começar a aproveitar o poder completo de um dos principais APIs gráficas do mundo é adicionar uma referência à sua biblioteca . Projecto net. Instruções
1

botão direito do mouse no nome do projeto no painel de navegação e clique em "Add Reference ". Adicione referências de projeto para Microsoft.DirectX.dll e Microsoft.DirectX.DirectDraw.dll
2

Copie e cole o seguinte no topo do seu arquivo Main.vb : .

Imports Microsoft.DirectXImports Microsoft.DirectX.DirectDraw
3

no topo de seu objeto Controller, cole as seguintes declarações de variáveis ​​:

exibição privado como DevicePrivate frente como a superfície = NothingPrivate Como o título de volta Superfície = NothingPrivate Como Superfície = text NothingPrivate Como Superfície = clipe NothingPrivate Como Clipper = NothingPrivate titlescreen as String = Application.StartupPath + " \\ " title.bmp
4

cole o seguinte código em sua classe abaixo o construtor:

Private Sub InitDirectDraw () ' usado para descrever uma superfície

Dim descrição as New SurfaceDescription () ' init o Dispositivo
exibição

= New Device ( ) # Se DEBUG Thendisplay.SetCooperativeLevel (Me , CooperativeLevelFlags.Normal ) # Else 'Definir o nível eo pai Cooperativa ,

' setado para tela inteira exclusivo para o formulário)

display.SetCooperativeLevel ( me, CooperativeLevelFlags.FullscreenExclusive ) 'Definir a resolução e profundidade de cor

' usado em tela cheia (640x480, cores de 16 bits)

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

'Define os atributos para a superfície frontal

description.SurfaceCaps.PrimarySurface = true

# Se DEBUG Thenfront = Novo Superfície ( descrição, tela) # Elsedescription.SurfaceCaps.Flip = Truedescription.SurfaceCaps.Complex = True

'Definir o buffer de fundo contagem

description.BackBufferCount = 1

' Criar a superfície com descrição e specifed dispositivo )

frente = Novo Superfície ( descrição , display ) # Fim Ifdescription.Clear () # Se DEBUG Thendescription.Width = front.SurfaceDescription.Widthdescription.Height = front.SurfaceDescription.Heightdescription.SurfaceCaps.OffScreenPlain = Trueback = Nova Superfície ( descrição , display ) # Else 'A Caps é um conjunto de atributos usados ​​pela maioria dos componentes DirectX

Dim tampas como novo SurfaceCaps ()' Sim, nós estamos usando um buffer de fundo

caps.BackBuffer = True

" Associar o buffer de frente para trás tampão com tampas especificados

back = front.GetAttachedSurface ( Caps) # End If

'Criar o Clipper

clipe = Novo Clipper (visualização )'' 'Definir a região para esta forma

clip.Window = me' Defina o clipper para a superfície
frente

frente . Clipper = clipe

'Reset a descrição

description.Clear ()' Criar a tela de título

title = Nova Superfície ( titlescreen , descrição , display )

description.Clear () 'Definir a altura ea largura do texto.

description.Width = 600description.Height = 16' OffScreenPlain significa que este Superfície

'não é uma frente , volta , alfa Surface.

description.SurfaceCaps.OffScreenPlain = True

'Criar Superfície texto
texto

= Novo Superfície ( descrição , display ) ' Definir a cor backgroup

text.ColorFill ( Color.Black ) ' Definir a cor de primeiro plano do texto

text.ForeColor = Color.White ' desenhar o texto para a superfície para coordenadas (0,0 ) < br >

text.DrawText ( 0, 0, " Managned DirectX Tutorial 1 - Pressione Enter ou Escape para sair ", True ) End Sub SubPrivate Desenhe () ' Se a frente não é criar , ignorar esta função

Se frente é nada ThenReturnEnd Se

' Se o formulário é minimizado , ignore esta função

Se Me.WindowState = FormWindowState.Minimized ThenReturnEnd IfTry ' Desenhe o título para o buffer de fundo usando fonte copiar blit

back.DrawFast (0, 0 , título, DrawFastFlags.Wait )

' Desenhe o texto também para o buffer de fundo usando fonte Copiar blit

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

# Se DEBUG Then ' Desenhe tudo isto para a frente

front.Draw (costas, DrawFlags.Wait ) # Else' Fazer um flip para transferir de volta buffer para a frente , mais rápido

# Fim Iffront.Flip (costas, FlipFlags.Wait )

pegar generatedExceptionName Como WasStillDrawingExceptionReturnCatch generatedExceptionName Como SurfaceLostException ' Se perdemos as superfícies , restaurar as superfícies

RestoreSurfaces () End Sub TryEnd

Sub RestoreSurfaces privados () ' usado para descrever uma superfície

Dim descrição As New SurfaceDescription ()

' Restaurar al superfície associed com o dispositivo

display.RestoreAllSurfaces () ' Redesenhar o texto

text.ColorFill ( Color.Black ) text.DrawText ( 0, 0, " Managned DirectX Tutorial 1 - Pressione Enter ou Escape para sair ", True )

' para a tela de título , precisamos

' eliminá-lo primeiro e depois recriá-la

title.Dispose () title = Nothingtitle = Novo Superfície ( titlescreen , descrição , display ) ReturnEnd Sub
5

Copie e cole o seguinte código em seu construtor de classe :

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

Pressione " F5" para executar o aplicativo e ver o que está sendo exibido em title.bmp tela.

Anterior :

Próximo : No
  Os artigos relacionados
·Como calcular valores complexos em VBA 
·Como copiar pastas de trabalho no VBA 
·Como escrever VB.Net para o bloco de notas 
·Como usar a barra de progresso no Visual Basic 2008 
·Como obter o número de linhas em FlexGrid em Visual Ba…
·Como construir um arquivo delimitado por tabulações D…
·Como verificar se uma entrada de caixa de texto é numé…
·O Processo de Morte Script VBS 
·Como usar dois conjuntos de dados em VB 
·Dim Opções em VBA 
  Artigos em destaque
·Como usar Listbox em Visual Studio 
·Como trabalhar com Sprites em AS3 
·Vs Client Server . Baseado em Web 
·ASP Tutorial Programação Net 
·Como determinar Controle Com um foco atual VB 
·Como Mudar de um banco de dados Rails para SQLite3 
·Como instalar o Java Runtime 5.0 no Windows XP 
·Como se livrar de error.jsp 
·Como: Login Form em VB.NET 
·Definição de Coleta de Lixo em Java 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados