I looked at your code (just a quick look-over). Other than finding class after class after class and actor after actor after actor (not that that is bad or good -- just a bit over-whelming), I did not find anything that struck me as being off (in a big way).
Couple of things about your Player class, though.
[ul] [li] You were right about lines 158 through 162. They are not needed as that it taken care of in lines 138 through 149.[/li]
[li]Lines 225 through 259, you say you should have maybe used a switch statement. I say you should have used this one statement 'YVelocity = (YVelocityTimer + 4) / 5;' (in a nutshell).[/li]
[li]On saving levels completed: what would happen if someone played to, say, level 8; then, came back and restarted at level 1. After completing that level, the player would loose the ability to jump back to level 8 (or 9). Also, is there a reason you save it in String form? It would seem much easier to save the level number as int, and only change it if the level completed was greater than the number saved.[/li][/ul]I will look at the code a little more thoroughly, later. But, I though I would mention my thoughts as of now. It seems you put a LOT of work into this. A bit more than was probably neccessary, but that will improve with experience. Great job!
To fix the screen size problem, start your scenario with your largest world's size. Since you start with a Menu screen, you should make it the size of your largest world. It does not have to be the same grid-size, just the same total size (or larger). OR, you could create a 'SizerWorld' to start the scenario, which just starts the 'MenuWorld'. It could be like a title screen with the name of the game, the authors name, and maybe some instruction with some graphics thrown in. Just a thought.
You would get a lesser count, if you counted the number of times the scenario was 'started'. Also, by using a boolean to flag if the scenaio was started or not, you could count how many times it was compiled!
Now you have the update info and descriptions to change also.
Are you counting the number of times a user opens this scenario. If so, you will get erroneous results. Each time I click 'Reset', it increments my 'Logins' counter.
2012/8/19
platforms of meh
2012/8/19
platforms of meh
2012/8/19
Wombat Puzzles
2012/8/19
Wombat Puzzles
2012/8/19
UserInfo Test
2012/8/19
UserInfo Test
2012/8/19
UserInfo Test
2012/8/19
UserInfo Test
2012/8/18
Private Messaging