Updating PlayState
Now that we have our EnemySpawner
class and we've updated our Enemy
class to work with it, we need to go and change a few things in PlayState
to make it all work. Open up the PlayState
class, and we'll get to work.
Removing old functionality
To start, we'll go through and remove things we no longer need. First, remove the following variable:
private var numEnemies:Int = 20;
Next, go into the constructor and remove the block where we're instantiating enemies:
var enemy:Enemy; for (i in 0...numEnemies) { enemy = new Enemy(); enemyLayer.add(enemy); }
The spawner will do this for us, so PlayState
is no longer responsible for handling enemies like this.
Using EnemySpawner
Now we just need to change our enemy layer to use our EnemySpawner
class. First, update the variable:
private var enemyLayer:EnemySpawner;
Then in the constructor, make sure that we're instantiating the EnemySpawner
class instead of a FlxGroup
class:
enemyLayer = new EnemySpawner();
Since the EnemySpawner
object is...