I am creating a side scrolling game in Flash (as3) and trying to keep things organized and clean.
Ive created a “Level” class that gets all the level data, player data, and creates all the terrain objects and the player object. Its starting to get messy because im handlng all of the functions for player collision checks and player movement, terrain movement, sound starting and stopping, enemies, and more, all in this class. Is this normal? Or is there a better way to organize things to keep them separate, but still allow them to interact with each other.
I have a player class, and terrain class, and enemy class and etc. but there is not much going on inside them.
Thanks/
Sounds like it’s time to take a look at how you can break up your level class and move some of that functionality to other classes. What you’re describing happens all the time, so don’t worry – it just means it’s time to reorganize a little.
You might consider taking you player collision for example, and moving that out to a Physics class. You can set up a static function that allows you to pass in two DisplayObjects, and then tests for collisions between the two.
For sounds, you might consider a singleton class like a SoundManager, that holds onto all of your sounds in an array or dictionary, and then have your other classes play sounds through a function like
playSound(soundName:String):voidon SoundManager.Hopefully that gives you a start. Feel free to ask if you need more details. It also might help if you post some of your code. Good luck with it!