Is there any difference between the greenfoot.stop() method and the pause button in greenfoot?
I think it's a totally different thing?


1 2 3 4 5 6 7 8 9 | public method act() { dosomething(); dosomething(; dosomething(); while ( /* !(user has done something) */ ) Greenfoot.delay( 1 ); continueDoingSomething(); continueDoingSomething(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // add instance field private boolean waitingForUserToDoSomething = false ; // the act method public void act() { if (!waitingForUserToDoSomething) { dosomething(); dosomething(); dosomething(); waitingForUserToDoSomething = true ; } if ( /* user has done something */ ) { waitingForUserToDoSomething = false ; continueDoingSomething(); continueDoingSomething(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public void started() { if (ActorClassName.programPaused) { ((ActorClassName) getObjects(ActorClassName. class ).get( 0 )).restarted(); } }]/code] Then put the 'continueDoingSomething();' statements in a new method called 'restarted' : [code] // in ActorClassName class public void restarted() { programPaused = false ; continueDoingSomething(); continueDoingSomething(); } // using this class field public static boolean programPaused; |
1 | ActorClassName.programPaused = false ; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public void act() { doSomething(); doSomething(); doSomething(); if (pausing) { programPaused = true ; Greenfoot.stop(); } else { restarted(); } } |