Skip to Content
Building HTML5 Games with ImpactJS
book

Building HTML5 Games with ImpactJS

by Jesse Freeman
February 2012
Beginner to intermediate
140 pages
3h 16m
English
O'Reilly Media, Inc.
Content preview from Building HTML5 Games with ImpactJS

Chapter 6. Working With Sound

Impact also supports sound as well as background music for your game. In this chapter, we will learn how to add sound effects, background music, and learn a little more about browser compatibility issues.

Adding Sounds

In order to add sound to our game, we are going to have to use the ig.Sound class. Impact supports two file formats: Ogg Vorbis and MP3. The ig.SoundManager class can automatically detect which file to load based on the browser. Here are some examples of how to set up an ig.Sound instance:

var sound = new ig.Sound( 'media/sounds/jump.ogg' );
var sound = new ig.Sound( 'media/sounds/jump.mp3' );
var sound = new ig.Sound( 'media/sounds/jump.*' );

The last example is a wild card that lets the ig.SoundManager automatically load the correct file for us. Our sound files, just like images, should live inside the media directory. I also keep them in a subdirectory called sounds, so they stay organized. Let’s add some sound effects to our player. Open the player.js class and set up the following properties at the top of our player class:

jumpSFX: new ig.Sound( 'media/sounds/jump.*' ),
shootSFX: new ig.Sound( 'media/sounds/shoot.*' ),
deathSFX: new ig.Sound( 'media/sounds/death.*' ),

Now we need to play the sound for each of these actions. Add the following line to the code where our player jumps:

if( this.standing && ig.input.pressed('jump')){
    this.vel.y = -this.jump;
    this.jumpSFX.play();
}

Next, we want to add a sound effect to our shoot animation. Locate ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

HTML5 Game Development Insights

HTML5 Game Development Insights

Colt McAnlis, Petter Lubbers, Brandon Jones, Duncan Tebbs, Andrzej Manzur, Sean Bennett, Florian d'Erfurth, Bruno Garcia, Shun Lin, Ivan Popelyshev, Jason Gauci, Jon Howard, Ian Ballantyne, Jesse Freeman, Takuo Kihira, Tyler Smith, Don Olmstead, John McCutchan, Chad Austin, Andres Pagella

Publisher Resources

ISBN: 9781449331207Errata