Häufig gestellte Fragen: Unterschied zwischen den Versionen
Nutz (Diskussion | Beiträge) |
Nutz (Diskussion | Beiträge) |
||
Zeile 10: | Zeile 10: | ||
{{QA|Wie bekomme ich Soundeffekte ins Spiel?| | {{QA|Wie bekomme ich Soundeffekte ins Spiel?| | ||
Um Sounds ins Spiel zu bekommen, solltest du das X(Cross platform) Audio Creation | Um Sounds ins Spiel zu bekommen, solltest du das X(Cross platform) Audio Creation | ||
Tool benutzen. (s.h [http://msdn.microsoft.com/en-us/library/bb195038.aspx | Tool benutzen. (s.h auch [http://msdn.microsoft.com/en-us/library/bb195038.aspx XNA Audio Programming Guide ]) Außerdem macht es Sinn, dir einen Überblick über die [ XNA.Audio Klassen http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.aspx] zu verschaffen. | ||
}} | }} | ||
{{QA|Wie bekomme ich Hintergrundmusik ins Spiel?| | {{QA|Wie bekomme ich Hintergrundmusik ins Spiel?| | ||
Zeile 23: | Zeile 23: | ||
}} | }} | ||
{{QA|Wie bekomme ich 3D-Sound? (d.h. Stereo entsprechend der Position eines Objekts z.B. zur Kamera)| | {{QA|Wie bekomme ich 3D-Sound? (d.h. Stereo entsprechend der Position eines Objekts z.B. zur Kamera)| | ||
Das ist im Wesentlichen in XNA schon enthalten. | Das ist im Wesentlichen in XNA schon enthalten. - lies die Links. | ||
}} | }} | ||
{{QA|Wir haben Performanceprobleme (eventuell besonders bei bestimmten Aktionen), kann das am Sound liegen?| | {{QA|Wir haben Performanceprobleme (eventuell besonders bei bestimmten Aktionen), kann das am Sound liegen?| | ||
Zeile 30: | Zeile 30: | ||
}} | }} | ||
{{QA|Wie verhindere ich, dass bei jedem Update eine neue Cue erzeugt wird?| | {{QA|Wie verhindere ich, dass bei jedem Update eine neue Cue erzeugt wird?| | ||
Es macht Sinn, zwischen Sounds zu unterscheiden, die einmalig abgespielt werden sollen und solchen, die geloopt werden (z.B. ein | Es macht Sinn, zwischen Sounds zu unterscheiden, die einmalig abgespielt werden sollen und solchen, die geloopt werden (z.B. ein Motorengeräusch). Dann muss zwar wegen der eventuellen Positionsveränderung trotzdem geupdated werden, aber man könnte z.B. eine Methode implementieren, die die eine zu einem Objekt gehörende Cue nur dann neu instanziert, wenn sie zu Ende gespielt hat und sonst nur die Position updated. | ||
}} | }} | ||
{{QA|Was sind gute Einstiegspunkte, wenn ich mich in das Thema Sound unter XNA einlesen will?| | {{QA|Was sind gute Einstiegspunkte, wenn ich mich in das Thema Sound unter XNA einlesen will?| | ||
Zeile 37: | Zeile 37: | ||
* [http://msdn.microsoft.com/en-us/library/bb195038.aspx Programming Guide für XNA Audio] | * [http://msdn.microsoft.com/en-us/library/bb195038.aspx Programming Guide für XNA Audio] | ||
* [http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.aspx Klassenübersicht für XNA Audio] | * [http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.aspx Klassenübersicht für XNA Audio] | ||
* [http:// | * [http://www.kyleschouviller.com/uncategorized/xna-30-mp3wmawav-support/ kurzer Artikel zur MediaPlayer-Klasse] | ||
}} | }} | ||
{{QA|Ich habe im Code alles richtig gemacht, aber der Sound wirkt nicht 3D-mäßig. Wo klemmt's?| | {{QA|Ich habe im Code alles richtig gemacht, aber der Sound wirkt nicht 3D-mäßig. Wo klemmt's?| |
Version vom 19. April 2009, 11:55 Uhr
.NET und C#
Ich will Objekte in einer Liste speichern, habe aber keine Ahnung was für eine Liste ich nehmen soll.
Das .NET Framework stellt verschiedene Datenstrukturen für verschiedene Anwendungen bereit. Am besten du überlegst dir für welches Szenario die Liste sein soll und schaust dann in der Datenstrukturen-Übersicht welche am Besten passen würde.
XNA 3.0
Wen ich eine nicht-XNA Library einbinde kann diese nicht geladen werden
Das passiert normalerweise dann, wenn Du auf einem 64-Bit Windows entwickelst. XNA unterstützt nur 32-Bit, .NET versucht aber, die Library mit 64-Bit zu laden. Abhilfe gibt es bei selbstkompilierten Libraries, die kann man auf 32-Bit einstellen
Sound
Wie bekomme ich Soundeffekte ins Spiel?
Um Sounds ins Spiel zu bekommen, solltest du das X(Cross platform) Audio Creation Tool benutzen. (s.h auch XNA Audio Programming Guide ) Außerdem macht es Sinn, dir einen Überblick über die [ XNA.Audio Klassen http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.aspx] zu verschaffen.
Wie bekomme ich Hintergrundmusik ins Spiel?
Der einfachste und vermutlich beste Weg dazu ist die MediaPlayer-Klasse. Artikel dazu mit Sample
Was ist denn XACT?
XACT ist ein Tool, dass dir hilft, deinem Spiel Sounds und Musik zur Verfügung zu stellen. Es wird bei XNA mitgeliefert und bietet Möglichkeiten importierte Sounds zu verwalten und ihnen bestimmte Parameter zuzuweisen, von Effekten wie Pitch Variation über die sogenannten Runtime Parameter Controls bis zur relativen Lautstärke. XACT sorgt auch dafür, dass die Sounds für die XBox respektive DirectX geeignet bereitgestellt werden. Für Soundeffekte (insbesondere auch in 3D) ist es der wohl beste Weg. Für Musik, ist, auch wegen der fehlenden mp3/wma-Unterstützung von XACT, die MediaPlayer-Klasse interessanter.
Wie bekomme ich 3D-Sound? (d.h. Stereo entsprechend der Position eines Objekts z.B. zur Kamera)
Das ist im Wesentlichen in XNA schon enthalten. - lies die Links.
Wir haben Performanceprobleme (eventuell besonders bei bestimmten Aktionen), kann das am Sound liegen?
Das kann sein, ja. Für jeden abgespielten Sound wird ein neues Objekt, eine sog. Cue, erstellt. Wenn dein Spiel in jedem Update-Zyklus erneut einen oder mehrere von diesen Objekten erzeugt, dann kann das die Framerate sehr schnell sehr stark drücken. Typischerweise passiert so etwas zum Beispiel, wenn ein Sound immer abgespielt wird, wenn eine bestimmte Taste gedrückt ist. Falls der Benutzer dann diese Taste hält (z.B. MG-Feuer), wird in jedem Update (falls die Implementierung entsprechend schlecht ist) eine Cue erzeugt.
Wie verhindere ich, dass bei jedem Update eine neue Cue erzeugt wird?
Es macht Sinn, zwischen Sounds zu unterscheiden, die einmalig abgespielt werden sollen und solchen, die geloopt werden (z.B. ein Motorengeräusch). Dann muss zwar wegen der eventuellen Positionsveränderung trotzdem geupdated werden, aber man könnte z.B. eine Methode implementieren, die die eine zu einem Objekt gehörende Cue nur dann neu instanziert, wenn sie zu Ende gespielt hat und sonst nur die Position updated.
Was sind gute Einstiegspunkte, wenn ich mich in das Thema Sound unter XNA einlesen will?
Am besten schaust du dir mal die Klassen auf msdn an, dann hast du schon einen Überblick und dann ein Sample. Hier einige Links:
- Ein Sample für 3D-Sound
- Programming Guide für XNA Audio
- Klassenübersicht für XNA Audio
- kurzer Artikel zur MediaPlayer-Klasse
Ich habe im Code alles richtig gemacht, aber der Sound wirkt nicht 3D-mäßig. Wo klemmt's?
Möglicherweise hast du in deiner Soundbank den Sounds nicht die entsprechenden RPCs gegeben. Füge im XACT Distance Curve und eventuell Doppler Curve hinzu. Dann könnte es gehen. Im XACT kann man die Distanzkurve auch bearbeiten, das macht z.B. Sinn, um die Distanzdämpfung auf die Dimensionen eures Spiels anzupassen.
Dokumente
Als Abgabe sind nur PDF-Dokumente zugelassen, wie kann ich diese erstellen ?
Es gibt relativ viele Wege dafür, am besten du verwendest eines der Werkzeuge aus unserer PDF-Tool Übersicht.