Ola galera, sou novo em java e estou desenvolvendo um projeto, tenho o seguinte código abaixo:
paint.setColor(Color.rgb(250, 0, 255));
canvas.drawCircle(xa, ya, 10, paint);
O qual utilizo no método draw da GameView para criar círculos no meu projeto(um game), preciso criar varias classes, uma delas e a classe de nome “jogador”, como faço para implementar esse código da GameView na classe jogador por exemplo(se eu não me engano e no construtor da classe)?
Por que você precisa desse código dentro da classe Jogador? Um jeito simples seria ter no jogador um método que recebe o canvas e o painter da view e opera sobre eles, mas sem saber o que você quer fazer, é difícil sugerir alguma coisa.
Abraço.
private void draw() {
if (ourHolder.getSurface().isValid()) {
canvas = ourHolder.lockCanvas();
paint.setColor(Color.rgb(0,0,0));
canvas.drawPaint(paint);
paint.setColor(Color.argb(255, 255, 255, 255));
paint.setTextSize(30);
canvas.drawText("PLAY", 250, 250, paint);
paint.setColor(Color.argb(255, 255, 255, 255));
paint.setTextSize(30);
canvas.drawText("SCORE:" + score, 300, 50, paint);
paint.setColor(Color.rgb(255, 0, 255));
canvas.drawCircle(xj, yj, 30, paint);
ourHolder.unlockCanvasAndPost(canvas);
}
}
Para entender melhor esse e o codigo inteiro do draw da GameView.
E isso ai mesmo, quero que a classe jogador receba o paint e o canvas.
Não sei o que você tem em mente, mas eu não faria isso no construtor, mas sim num método à parte.
Se o objetivo é desenhar o jogador, você pode, por exemplo, criar um método draw na classe jogador, que recebe o painter e o canvas da activity que estiver desenhando. Algo mais ou menos assim:
class Jogador{
// outros códigos
public void draw(Paint painter, Canvas canvas){
// aqui você desenha tudo o que pertence ao jogador
}
// outros códigos
}
class MinhaActivity extends Activity{
private Jogador jogador;
private Paint painter;
private void init(){
jogador = new Jogador();
painter = new Painter(Paint.ANTI_ALIAS_FLAG);
}
protected void onDraw(Canvas canvas) {
// outros desenhos
jogador.draw(painter, canvas); // chama o draw do jogador com os parametros
// outros desenhos
}
}
Abraço.
Obrigado cara, deu pra ter uma base, vou tentar fazer aqui.