Como mudar de uma fase para outra

como eu faço em um jogo para carregar a prox. fase!?

é preciso tem um Canvas para cada faze!?
ou só reestartar o Canvas passando outros parametros!?

Eu costumo utilizar apenas um Canvas e o Strategy design pattern. Basicamente, utilizando seu caso como exemplo, você possui uma interface “Fase”, com diversas classes implementando ela, cada uma correspondendo à uma fase especifica dentro do jogo. O seu Canvas passa o processamento para uma dessas classes para criar a tela de jogo da fase em questão. Como mudar de fase? Colocando um outro objeto para o Canvas, no caso, uma instância da classe da nova fase.

De fato, utilizo esse pattern em N outras coisas dentro de um jogo. Desnecessário dizer que pode trazer alguns problemas de performance. É possível fazer tudo numa única classe, mas o código irá parecer uma “macarronada”. Note que isto depende da fase do jogo em questão!! Em alguns casos, mudando alguns valores de um objeto, já fará a classe alterá bastante.

Waocnek

bom … nao me esclareceu mto =\

mais eu estou tentando fazer dessa maneira

if(condiçao para mudar de fase){
            System.out.println("Fim de Fase");
            try{
                stop(); // PARO A THREAD ATUAL
                this.display = display; //CAPTURO DISPLAY
                cowGameCanvas gameCanvas_n = new
                // ESTANCIO OUTRO GAME CANVAS PASSANDO OS PARAMETROS DA OUTRA FASE
                cowGameCanvas(Map.getN_mapa()+1, display); 
                gameCanvas_n.start(); //STARTO O NOVO GAME CANVAS
                display.setCurrent(gameCanvas_n); //MANDO PARA DISPLAY
                
            }catch(Exception ex){}
        }

mais nao esta funcionando … o jogo trava =\

Você está criando uma nova thread ?? Se tentar dar start na que estava usando não vai funcionar. E veja se está reiniciando as variáveis necessárias, por exemplo algum booleano que cuida de loopings, se você setou falso e esqueceu de passar pra true.

espero estar indo no caminho certo =\

ainda nao tive sucesso galera =\
mas nao desisti! =D