Mittwoch, 9. Juni 2010

Installieren und Einbinden des DirectX SDK

Bei aufwendigeren Multimediaanwendungen, wie zum Beispiel bei Spielen, ist DirectX nicht mehr wegzudenken.
Glücklicherweise hat .Net auch für dieses Thema umfangreiche Bibliotheken parat.
Für C++ und .Net Sprachen gibt es das DirectX SDK.
Hiermit lassen sich auf jeden Fall viele coole Anwendungen erstellen, ich werde in Zukunft einige Posts dazu schreiben.
Für heute aber erstmal, wie der Titel es schon sagt, die Installation und Einbindung des DirectX SDK, die
ein paar Probleme bereiten kann (zumindest bei mir lief es nicht so flüssig).
Die neueste Version des DirectX SDK gibt es hier zum Download. Mit Windows XP und .Net Framework 4.0 lies sich diese Datei bei mir aber nicht installieren, ich habe die Version von März genommen.
Nach der Installation steht das SDK zur Verfügung, in jedem Projekt aber, in dem DirectX Funktionen benutzt werden sollen, müssen Referenzen auf die richtigen DLL - Dateien eingebunden werden.
Verweise können über den Menübefehl Projekt - Verweis hinzufügen eingefügt werden. Laut Literatur sollten nach Installation die entsprechenden Dateien (z.B. Microsoft.DirectX) im Fenster Verweis hinzufügen auf dem Reiter .Net vorhanden sein. Bei mir war dies jedoch nicht der Fall, weswegen ich sie manuell einbinden musste.
Um manuell einzubindende Verweise zu suchen, wechselt ihr zum Reiter Durchsuchen und wählt dann die entsprechenden Dateien aus.
Bei mir liegen die DLLs unter C:\WINDOWS\Microsoft.NET\DirectX for Managed Code. Falls ihr sie nicht findet, einfach mal die Datei "Microsoft.DirectX.dll" suchen.
So, nun solltet ihr in der Lage sein, das SDK richtig vorzubereiten, im Internet gibt's coole DirectX Tutorials und ich werde bald auch einige Posts erstellen, wann welche Verweise benötigt werden etc.

Kommentare:

  1. Danke durch diesen Tip hat das Instalieren bei mir sofort geklappt ..

    AntwortenLöschen
  2. Ich habe mir vor kurzem das spiel Need For Speed Hot Pursuit gekauft und habe das auch sofort insteliert. Auf der Cd war auch DirectX SDK, welches laut Anleitung auch insterliert werden muss. Das wollte ich dann auch machen, aber nach ca. 2 Stunden warten war die Insterlation immer noch auf 0% und dabei ist es auch gebliben.
    Vieleicht hasst du ein Tipp für mich wie ich es richtig hinbekomme!!

    Mfg Michi

    AntwortenLöschen
  3. ICH LIEBE DICH! xD
    Danke - das hab ich überall gesucht und nirgends gefunden. Dachte schon ich muss auf XNA zurückgreifen.

    AntwortenLöschen
  4. Kleine Anmerkung, falls der Fehler S1023 auftritt:
    Ich habe einfach Microsoft Visual C++ xXX Redistributable deinstalliert (wer braucht denn auch C++, C# ist viel besser), wie es hier steht:

    http://support.microsoft.com/kb/2728613

    vielleicht hätte das auch dir geholfen un und du hättest nicht die März-Version nehmen müssen

    AntwortenLöschen
  5. Ach und was mir gerade noch aufgefallen ist. Bei mir ist in dem beschriebenen Ordner nur Direct3D, bei mir ist alles in C:\Windows\assembly\GAC\
    Um dann Sounds abzuspielen geht man so vor:

    Device applicationDevice = new Device();
    applicationDevice.SetCooperativeLevel( this, CooperativeLevel.Priority );

    soundBuffer1 = new SecondaryBuffer( "c:\afile1.wav", applicationDevice );
    soundBuffer2 = new SecondaryBuffer( "c:\afile2.wav", applicationDevice );

    soundBuffer1.Play( 0, BufferPlayFlags.Looping );
    soundBuffer2.Play( 0, BufferPlayFlags.Looping );

    AntwortenLöschen
  6. Ok ich muss noch einen nachtrag machen:

    in app.config:





    und dann noch bei Debuggen-Ausnahmen-Managed Deugging Assistants das Häkchen bei LoaderLock entfernen. Damit lässt sich jetzt endlich ein Projekt mit DirectSound starten.

    AntwortenLöschen
  7. Kann man die neunen Versionen von DirectX (11.x) auch unter C# benutzen oder nur mit C++ ?
    Ich finde auch keinen Download der neune DirectX Versionen...

    AntwortenLöschen