Programinha Iniciante

3 respostas
O

Pessoal, tou iniciando Java, tou querendo fazer uma animaçãozinha SIMPLES, o design gráfico ta feito, só não consigo interagir, o código está abaixo, a caixa já se meche pra direita, esquerda e baixo, mais queria q ela caisse naturalmente sendo ao todo 20 caixas, se cair fora do triangulo o jogo perde, se cair as 20 dentro do triangulo eu ganho, alguêm me dá uma luz ? sei q é com Runable mais tou meio perdido ainda, Vlw !!!

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*;

public class Piramide extends JFrame implements Runnable {
    public int posCol = 10;
    public int posBaixo = 10;
    private int desce = 15;
    public Thread th = new Thread(this);
    public int [] c = {80, 80, 80, 80, 80, 80};
    public int [] b = {250, 250, 250, 250, 250, 250};
    
    public void run() {
        while (true) {
            c[5] =30;
            b[5] = 200;
            for (int i = 0; i < c.length-1; i++)
                c[i] = c[i+1];
            for (int i = 0; i < b.length-1; i++)
                b[i] = b[i+1];
            try { th.sleep(500); } catch (Exception e) { }
            repaint();
        }
    }
    
    public Piramide() { 
        super("Pirâmide");
        this.setSize(500,500); this.setVisible(true);
        this.addKeyListener(new KeyAdapter() {
           public void keyPressed(KeyEvent e) {
               if (e.getKeyCode() == 39) executarDireita();
               else if (e.getKeyCode() == 37) executarEsquerda(); 
               else if (e.getKeyCode() == 40) executarBaixo();
               
           }
        });
        
    }
    public void executarDireita() { 
        posCol += 2; 
        repaint(); 
    }
    public void executarEsquerda() { 
        posCol -= 2; 
        repaint(); 
    }
    public void executarBaixo() { 
        posBaixo +=3;
        repaint();
        th = new Thread(this);
        th.start();
    }
    public void paint(Graphics g) { 
        super.paint(g);
        g.fillRect(50+posCol,50+posBaixo,30,30);
        g.drawLine(250,300,100,500);
        g.drawLine(250,300,400,500); 
    }
    public static void main(String [] args) { 
        new Piramide(); 
    }
}

3 Respostas

ViniGodoy

Dê uma lida nos tutoriais do Ponto V:
Ponto V - O loop de animação
A primeira animação
Desenho direto - Active Rendering

O

tou tentando =/ se pelo menos conseguir descer a porcaria do quadrado automaticamente acho q o resto já fica mais fácil hehehe

ViniGodoy

Beleza, leia os tutos e se tiver dúvida poste aqui. Eles vão mostrar como fazer uma bolinha andar e quicar nos cantos da tela.

Criado 27 de maio de 2011
Ultima resposta 29 de mai. de 2011
Respostas 3
Participantes 2