20. Controller Input
• GamePadState gamePadState = GamePad.GetState(PlayerIndex.One);
if(gamePadState.IsConnected)
{
// then it is connected, and we can do stuff here
}
if(gamePadState.Buttons.X == ButtonState.Pressed)
{
// do something
}
21. Controller Input
float maxSpeed = 0.1f;
float changeInAngle = gamePadState.Thumbsticks.Left.X * maxSpeed;
// this variable is defined elsewhere
angle += changeInAngle;
25. Audio
• Audio in XNA
• Audio Suggestions for Games
• A Simple Way to Play Sound Effects in XNA
• A Simple Way to Play Background Music in XNA
• Using XACT
• Using XACT Projects in an XNA Game
• XACT Sound Loops
• 3D Audio Effects: Location
• 3D Audio Effects: Attenuation based on Distance
27. Audio Suggestions For Games
• Audio Suggestions For Games
– royalty free music in google.com
– http://www.incompetech.com/m/c/royalty-free/
– http://www.flashkit.com/
• Use sound in your game. It adds a lot to the game. Don't just ignore it. ( Not in
our uni :( )
31. Playing Sound Effects
• SoundEffectInstances class
SoundEffectInstance effectInstance = effect1.Play();
effectInstance.Stop();
32. Playing Sound Effects
• SoundEffectInstances class
SoundEffectInstance effectInstance = effect1.Play();
effectInstance.Stop();
33. Playing Background Music
• Using the Song and MediaPlayer Classes to Play Audio
Song song = Content.Load<Song>("song_title");
// Put the name of your song here instead of "song_title"
MediaPlayer.Play(song);
MediaPlayer.IsRepeating = true;
34. Using XACT
• Cross-platform Audio Creation Tool
• The concept
• Using XACT
– Using XACT
– Using XACT Projects in an XNA Game
– XACT Sound Loops
– 3D Audio Effects: Location
– 3D Audio Effects: Attenuation based on Distance
35. Using XACT
• Small Tutorials
– http://rbwhitaker.wikidot.com/audio-tutorials
• http://rbwhitaker.wikidot.com/using-xact
• http://rbwhitaker.wikidot.com/playing-sound
• http://rbwhitaker.wikidot.com/xact-sound-loops
• http://rbwhitaker.wikidot.com/3d-audio-effects-location
– Books
• Microsoft Book
• Aaron Reed (O’Reilly)
38. Video Playback
• Loading the Video in XNA, Game1 Global Scope
• LoadContent()
Video video;
VideoPlayer player;
video = Content.Load<Video>("AVideoToPlayback");
player = new VideoPlayer();
40. Video Playback
• Starting the Video
• Update()
player.Play(video);
if (player.State == MediaState.Stopped)
{
player.IsLooped = true;
player.Play(video);
}