Canvas [RESOLVIDO]

8 respostas
gqferreira

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!

8 Respostas

deivid

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…

Criado 29 de maio de 2010
Ultima resposta 2 de jun. de 2010
Respostas 8
Participantes 3