Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Visual Βασικά Προγραμματισμός

Πώς να χρησιμοποιήσετε το DirectX σε VB

DirectX είναι ένας από τους κορυφαίους γραφικών προγραμματισμού APIs που χρησιμοποιούνται για τα παιχνίδια , προσομοιώσεις και άλλες εφαρμογές γραφικών όπως η ιατρική απεικόνιση . Πρόκειται για ένα μόνο για τα Windows βιβλιοθήκη διαθέσιμη για χρήση σε C + + , καθώς και κάθε . NET γλώσσα πλαίσιο όπως η C # ή VB.net . Η μόνη αναγκαία ενέργεια για να αρχίσει την εκμετάλλευση της πλήρους δύναμη μιας από τις κορυφαίες API γραφικών στον κόσμο είναι να προσθέσετε μια αναφορά βιβλιοθήκης σε σας . Καθαρό έργο . Οδηγίες
Η

1 Κάντε δεξί κλικ στο όνομα του έργου στο πλαίσιο πλοήγησης και κάντε κλικ στο " Add Reference ". Προσθήκη αναφορές έργου Microsoft.DirectX.dll και Microsoft.DirectX.DirectDraw.dll 2

αντιγραφή και επικόλληση του παρακάτω στην κορυφή του αρχείου Main.vb σας : .
Εισαγωγές

Microsoft.DirectXImports Microsoft.DirectX.DirectDraw
εικόνων 3

στην κορυφή του αντικειμένου σας ελεγκτή , επικολλήστε τις παρακάτω δηλώσεις μεταβλητών :

Ιδιωτικά εμφανίζονται Όπως DevicePrivate μπροστά Όπως Surface = NothingPrivate Δεδομένου ότι ο τίτλος πίσω επιφάνειας = NothingPrivate Όπως Surface = NothingPrivate κειμένου Όπως Surface = NothingPrivate κλιπ Όπως Clipper = NothingPrivate titlescreen As String = Application.StartupPath + " \\ title.bmp "
Η 4

Επικολλήστε τον παρακάτω κώδικα στο σας κλάση κάτω από τον κατασκευαστή :

Private Sub InitDirectDraw () χρησιμοποιείται για να περιγράψει μια Surface

Dim περιγραφή As New SurfaceDescription ( ) ' init της συσκευής

display = νέα συσκευή ( ) # Εάν DEBUG Thendisplay.SetCooperativeLevel ( Me , CooperativeLevelFlags.Normal ) # Else " Ρυθμίστε το επίπεδο Συνεταιρισμός και η μητρική , πώληση

» καθίσαμε σε Full Screen Αποκλειστικά στο έντυπο )

display.SetCooperativeLevel ( Me , CooperativeLevelFlags.FullscreenExclusive ) « Ρυθμίστε την ανάλυση και το βάθος χρώματος

» που χρησιμοποιείται σε πλήρη οθόνη ( 640x480 , χρώμα 16 bit )

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

« Ορίστε τις ιδιότητες για το μπροστινό Surface

description.SurfaceCaps.PrimarySurface = True

# Εάν DEBUG Thenfront = Νέα Surface ( περιγραφή , απεικόνιση) # Elsedescription.SurfaceCaps.Flip = Truedescription.SurfaceCaps.Complex = True

« Ορίστε το Back Buffer μετράνε

description.BackBufferCount = 1

» Δημιουργήστε το Surface με προσδιοριζόμενα περιγραφή και συσκευής )

μπροστά = Νέα Surface ( περιγραφή , απεικόνιση ) # End Ifdescription.Clear ( ) # Εάν DEBUG Thendescription.Width = front.SurfaceDescription.Widthdescription.Height = front.SurfaceDescription.Heightdescription.SurfaceCaps.OffScreenPlain = Trueback = Νέα Επιφάνεια ( περιγραφή , απεικόνιση) # Else «Α Caps είναι ένα σύνολο χαρακτηριστικών που χρησιμοποιείται από τους περισσότερους από DirectX συστατικά

Dim καλύμματα As New SurfaceCaps ( ) « Ναι , είμαστε χρησιμοποιώντας ένα ρυθμιστικό πίσω

caps.BackBuffer = True

« Συσχετίζει το μπροστινό ρυθμιστικό προς τα πίσω buffer με συγκεκριμένα καλύμματα

πίσω = front.GetAttachedSurface ( καπάκια ) # End If

« Δημιουργία του Clipper

clip = Νέα Clipper ( οθόνη ) '' ' Ορίστε την περιοχή σε αυτή τη μορφή

clip.Window = Me " Ρυθμίστε την κουρευτική μηχανή για την μπροστινή Surface

μπροστά . Clipper = κλιπ

'Reset την περιγραφή

description.Clear ( ) ' Δημιουργία την οθόνη τίτλου

title = Νέα Surface ( titlescreen , περιγραφή , απεικόνιση)

description.Clear () Ρυθμίστε το ύψος και το πλάτος του κειμένου .

description.Width = 600description.Height = 16 ' OffScreenPlain σημαίνει ότι αυτό το Surface

»δεν είναι ένα μέτωπο , πίσω , άλφα επιφάνειας .

description.SurfaceCaps.OffScreenPlain = True

» Δημιουργήστε το κείμενο της επιφάνειας

text = Νέα Surface ( περιγραφή , απεικόνιση) « Ορίστε το χρώμα backgroup

text.ColorFill ( Color.Black ) « Ρύθμιση του χρώματος προσκήνιο του κειμένου

text.ForeColor = Color.White « ζωγραφίσουν το κείμενο στην επιφάνεια στον coords ( 0,0 )

text.DrawText ( 0 , 0 , " Managned DirectX Tutorial 1 - Πατήστε Enter ή Escape για έξοδο " , True ) End Sub SubPrivate Draw ( ) « Αν ο μπροστινός δεν είναι να δημιουργήσουμε , να αγνοήσει αυτή τη λειτουργία

Αν δεν είναι τίποτα μπροστά ThenReturnEnd Αν

« Εάν η φόρμα έχει ελαχιστοποιηθεί , να αγνοήσει αυτή τη λειτουργία

Αν Me.WindowState = FormWindowState.Minimized ThenReturnEnd IfTry « ζωγραφίσουν τον τίτλο στο πίσω ρυθμιστικό χρησιμοποιώντας πηγή αντιγράψετε blit

back.DrawFast ( 0 , 0 , τίτλος , DrawFastFlags.Wait )

« Σχεδιάστε το κείμενο και στην πίσω ρυθμιστικό χρησιμοποιώντας πηγή αντίγραφο blit

back.DrawFast ( 10 , 10 , κείμενο , DrawFastFlags.Wait )

# Εάν DEBUG συνέχεια » Ισοπαλία όλα αυτά προς τα εμπρός

front.Draw ( πίσω , DrawFlags.Wait ) # Else » κάνει ένα flip να μετατεθεί ρυθμιστικό προς τα εμπρός , πιο γρήγορα

# End Iffront.Flip ( πίσω , FlipFlags.Wait )

Πιάσε generatedExceptionName Όπως WasStillDrawingExceptionReturnCatch generatedExceptionName Όπως SurfaceLostException «Αν χάσαμε τις επιφάνειες , να αποκαταστήσει τις επιφάνειες

RestoreSurfaces ( ) End Sub TryEnd

Private Sub RestoreSurfaces () χρησιμοποιείται για να περιγράψει μια Surface

Dim περιγραφή As New SurfaceDescription ( )

'Επαναφορά al η επιφάνεια associed με τη συσκευή

display.RestoreAllSurfaces ( ) « Διόρθωση του κειμένου

text.ColorFill ( Color.Black ) text.DrawText ( 0 , 0 , " Managned DirectX Tutorial 1 - Πατήστε το πλήκτρο Enter ή Escape για έξοδο " , True )

« Για την οθόνη του τίτλου , θα πρέπει να

» διαθέτει για πρώτη φορά και στη συνέχεια να δημιουργήσετε ξανά

title.Dispose ( ) title = Nothingtitle = Νέα Surface ( titlescreen , περιγραφή , απεικόνιση) ReturnEnd Sub
5

Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο κατασκευαστή της κλάσης σας :

InitializeComponent ( ) InitDirectDraw ( ) Me.Cursor.Dispose ( ) Me.Show ( ) Ενώ CreatedDraw ( ) Application.DoEvents () End Ενώ
Η

6 Πατήστε το πλήκτρο " F5 " για να εκτελέσετε την εφαρμογή σας και να δείτε το title.bmp που εμφανίζεται στην η οθόνη .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα