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 is FlxSound
. It will be used to store reusable sound effects. We'll be using the FlxTween
class to add a delay to one effect.
Implementing the singleton pattern
The singleton pattern lets you have a single instance of a class that you can access...