Here is an idea for a pause method that has not been used as far as i can see.
Tell me what you think
if(buttonPressed()) { Greenfoot.setSpeed(0); }
if(buttonPressed()) { Greenfoot.setSpeed(0); }
if(buttonPressed()) { Greenfoot.setSpeed(what speed you want); }
boolean anyButton = false; while (!anyButton) { anyButton = Greenfoot.mousePressed(null); }
String myKey = ""; while (myKey = "") { myKey = Greenfoot.getKey(); }