Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

O QUE HÁ DE ERRADO COM A MINHA CLASSE "GAME.JAVA"

FIZ TUDO IGUALZINHO MOSTRA NO VÍDEO E A CLASSE "GAME.JAVA" ESTÁ COM UM "X" AO LADO, NO ECLIPSE. NÃO ESTOU CONSEGUINDO NEM COMPILÁ-LA POR CAUSA DO ERRO! O QUE FAZER? O QUE HÁ DE ERRADO COM O MEU CÓDIGO?

Classe "Game.java" do Eclipse, abaixo:


package br.com.alura.jumper.engine;

import android.R;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import br.com.alura.jumper.elements.Passaro;
import android.view.OnTouchListener;

public class Game extends SurfaceView implements Runnable, OnTouchListener{

    private boolean isRunning = true;
    private SurfaceHolder holder = getHolder();
    private Passaro passaro;
    private Bitmap background;

    public Game(Context context) {
        super(context);

        tela = new Tela(context);

        inicializaElementos();
        setOnTouchListener(this);
    }

    private void inicializaElementos() {
        passaro = new Passaro();    
        Bitmap back = BitmapFactory.decodeResource(getResources(), R.drawable.background);
        background = Bitmap.createScaledBitmap(back, back.getWidth(), tela.getAltura(), false)
    }

    @Override
    public void run() {
        while(isRunning ) {
            if(!holder.getSurface().isValid()) continue;
            Canvas canvas = holder.lockCanvas();

            //desenho dos componentes do jogo
            canvas.drawBitmap(background, 0,0, null);
            passaro.desenhaNo(canvas);
            passaro.cai();

            holder.unlockCanvasAndPost(canvas);
        }

    }

    public void inicia() {
        isRunning = true;        
    }

    public void pausa() {
        isRunning = false;        
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        passaro.pula();
        return false;
    }

}

``
2 respostas
solução!

OI, Iann. Geralmente quando o compilador lança um erro eles são bem esclarecedores. Quando o Eclipse marca com um X ele te dá uma mensagem resumida, mas que também pode ajudar. Coloque o mouse sobre o X e veja o que o eclipse está falando (poste aqui também que vai ajudar outras pessoas a te ajudarem). Pode mandar compilar, mesmo que ele reclame, para ver a mensagem completa do compilador(e se fizer isso e não descobrir o que é o problema poste aqui a mensagem de erro também). Sem ver qualquer mensagem de erro não da pra fazer muito.

Mesmo assim, eu vi isso no seu código:

 background = Bitmap.createScaledBitmap(back, back.getWidth(), tela.getAltura(), false)

Essa linha precisa de um ; no final. E o Eclipse provavelmente falaria Syntax error: insert ';' to complete Statement. Se você literalmente copiou e colou o código das instruções, sugira uma correção (tem um botão para isso no canto superior direito de todas as páginas com instruções e/ou exercícios.)

O problema era o ";" kkkkkk. Obrigado!