Canvas [RESOLVIDO]

Boa noite pessoal!

Estou me aventurando a fazer um jogo simples de futebol, será tipo um pinbolim, bem simplesinho…
Tenho uma classe que extende a canvas e desnho o campo de futebol.
Tenho uma outra classe que também extende à canvas onde desenhei um jogador, tudo com graphics…

Agora é que vem a dúvida:
No canvas onde desenho o campo de futebol, como chamo 11 bonequinhos que ja fiz?

Vlw pessoal!

Não é uma boa idéia usar multiplos canvas. Acontecem problemas e crashs em alguns aparelhos.

O ideal é usar um único Canvas e uma máquina de estados para o seu jogo.

Ai no seu caso você poderia fazer funções diferentes onde uma “pinta” o campo e a outra os jogadores.

[]s

Hum… legal a idéia… mas uma classe que extende à canvas contem o metodo paint que é onde pinto todos os graficos, como eu poderia ter dois metodos que “pintam”?

Vlw cara…

Simples cara!

Faz assim

[code]public void drawStadium(Graphics g)
{

// desenha o campo
}

public void drawPlayers(Graphics g)
{

// desenha jogadores

}

[/code]

ai no método paint do seu canvas você chama elas passando o Graphics da função paint pra elas.

[]s

Blz… valeu cara, vou testar assim que chegar em casa…

Tudo bem que não seria recomendável colocar varios canvas em um só, mas se fosse, como eu faria? Não manjo muito da classe Graphics e nem sei o que fazer se fosse necessario colocar um canvas dentro do outro…

Pq nao faz uma classe CampoDeFutebol que estende de Canvas, uma classe jogador que estende de Canvas, então no seu método paint do CampoDeFutebol vc chama o paint de cada jogador

Mas é isso mesmo que quero fazer… Como adiciono um canvas dentro do outro?

Vc provavelmente terá uma instancia dos jogadores no objeto de campo.
Então vá percorrendo seus jogadores (dentro do método paint do campo) e vá chamando o paint dos jogadores…