Building the enemy spawner
Now that we've gone over the data format, let's start implementing it. Luckily, the process to load and read this data is extremely easy due to functionality that Haxe provides. We're going to randomly choose which patterns of enemies to use, so there is still an element of chance to the game, but it will be far fairer.
Creating the enemy spawner class
To start, create a new class in the source folder named EnemySpawner
. This class will extend FlxTypedGroup
.
Here's what it should look like to start:
package; import flixel.group.FlxTypedGroup; class EnemySpawner extends FlxTypedGroup { public function new(MaxSize:Int=0) { super(MaxSize); } }
Before moving on, we'll make a few tweaks. Update the extends
section so that FlxTypedGroup
will use the Enemy
class as follows:
class EnemySpawner extends FlxTypedGroup<Enemy>
We're extending the FlxTypedGroup
class so that we can have a pool of Enemy
objects similar to the way that we managed projectiles and...