Building the sound manager class

Now we're going to build the class we'll use to handle playback of all music and sound effects. This will keep the playback functionality centralized, which will be useful since so many things in the game need to play sounds.

To help with this, the class will implement the singleton pattern so that the class instance will be accessible everywhere.

Creating the class

To start, make a new class in the audio folder named SoundManager. The class doesn't extend anything.

Here's what it should look like to start:

package audio;


class SoundManager
{
  public function new() 
  {
  }
}

Adding imports

Next, let's add the imports:

import flixel.FlxG;
import flixel.system.FlxSound;
import flixel.tweens.FlxTween;

The only new class to note ...

Get Haxe Game Development Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.