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?
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
gqferreira
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…
deivid
Simples cara!
Faz assim
public void drawStadium(Graphics g)
{
// desenha o campo
}
public void drawPlayers(Graphics g)
{
// desenha jogadores
}
ai no método paint do seu canvas você chama elas passando o Graphics da função paint pra elas.
[]s
gqferreira
Blz… valeu cara, vou testar assim que chegar em casa…
gqferreira
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…
j0nny
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
gqferreira
Mas é isso mesmo que quero fazer… Como adiciono um canvas dentro do outro?
j0nny
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…