= getGraphics(); // ISSO JA ESTAVA AQUI Graphics bbg = backBuffer.getGraphics();// ISSO TAMBEM JA ESTAVA AQUI... // ================================================================================== bbg.setColor(Color.WHITE); bbg.fillRect(0, 0, janelaW, janelaH);// DESENHA UM FUNDO BRANCO NA TELA! // EXIBE UM TEXTO CASO O OBJETO COLIDA! exibeTexto(); // DESENHA O OBJETO 2 bbg.setColor(Color.BLUE); bbg.fillRect(obj2X, obj2Y, obj2W, obj2H); // DESENHA O OBJETO 1 //com transparencia // new Color(red,green, blue, alpha) o alpha e o valor da trasnparencia // vai de 0 a 255 bbg.setColor(new Color(0, 255, 0, 200)); bbg.fillRect(obj1X, obj1Y, obj1W, obj1H); // ================================================================================== g.drawImage(backBuffer, 0, 0, this);// OBS: ISSO DEVE FICAR SEMPRE NO // FINAL! } public void inicializar() { setTitle("Tutorial 10 Colisao simples!"); setSize(janelaW, janelaH); setResizable(false); setDefaultCloseOperation(EXIT_ON_CLOSE); setLayout(null); setVisible(true); backBuffer = new BufferedImage(janelaW, janelaH, BufferedImage.TYPE_INT_RGB); } public void run() { inicializar(); while (true) { atualizar(); desenharGraficos(); try { Thread.sleep(1000 / FPS); } catch (Exception e) { System.out.println("Thread interrompida!"); } } } public static void main(String[] args) { Game game = new Game(); game.run(); }}Muito bem... Agora vamos entender o metodo colisao que e o que esta menos comentado no nosso codigo acima....Observe a seguinte imagem:Muito bem... temos um quadrado, e nesse quadrado temos quatro pontos (marcado de vermelho), cada ponto possui uma coordenada X e Y, conhecendo apenas as coordenadas e dimensoes do nosso quadrado e possivel deduzir as coordenadas de cada um desses quatro pontos, como mostra o circulo laranja... "blz... entendi... o que devemos fazer agora...?"agora vamos verificar se cada um desses pontos esta invadindo a area de outro objeto (quadrado...)Observe a imagem abaixo:Para verificar se cada ponto do Objeto1 esta dentro do Objeto2, temos que fazer algumas verificacoes como mostra o circulo laranja, Observe o nosso ponto P, as coordenadas X do nosso ponto P em relacao ao Objeto2 tem que ser: X de P >= X do Objeto 2 e ao mesmo tempo o X de P <= X+largura do Objeto 2 ..... E ao mesmo tempo Y de P >= Y do Objeto 2 e ao mesmo tempo o Y de P <= Y+altura do Objeto 2.Entao essas condicoes tem que ser verificadas para cada um dos nossos pontos 1, 2, 3 e 4! Observe novamente o nosso metodo colisao()public boolean colisao(int obj1X, int obj1Y, int obj1W, int obj1H, int obj2X, int obj2Y, int obj2W, int obj2H) { if ((obj1X >= obj2X && obj1X <= obj2X + obj2W) && (obj1Y >= obj2Y && obj1Y <= obj2Y + obj2H)) { return true; } else if ((obj1X + obj1W >= obj2X && obj1X + obj1W <= obj2X + obj2W) && (obj1Y >= obj2Y && obj1Y <= obj2Y + obj2H)) { return true; } else if ((obj1X >= obj2X && obj1X <= obj2X + obj2W) && (obj1Y + obj1H >= obj2Y && obj1Y + obj1H <= obj2Y + obj2H)) { return true; } else if ((obj1X + obj1W >= obj2X && obj1X + obj1W <= obj2X + obj2W) && (obj1Y + obj1H >= obj2Y && obj1Y + obj1H <= obj2Y + obj2H)) { return true; } else { return false; } }Entao perceba que se um dos nossos pontos invadir o outro objeto, o nosso metodo ira retornar