Cómo configurar el tiempo en dibujar gráficos en la clase de objeto

esperar:

En primer lugar, lo siento por mi gramática. i necesidad de crear el objeto de la bomba y la pintura negro y un 5 segundo después se pintará de rojo sin congelar mi juego, trato de hacer Bombardero Man juego. Gracias

import java.awt.*;
public class Bomb {
    int x,y;
    int block = 60;
    public Bomb(int x,int y) {
        this.x = x;
        this.y = y;
    }
    void draw(Graphics g) {
        g.setColor(Color.BLACK);
        g.fillOval(this.x * block, this.y * block, block, block);
        if ( /*TIMER == 0*/) {
            g.setColor(Color.RED);
            g.fillOval(this.x * block, this.y * block, block, block);
        }
    }
}
VGR:

Que tiene que hacer algo más que cambiar el color de su objeto bomba. Su juego tiene que llevar un registro de estado de la bomba. Por lo tanto, es necesario crear un temporizador en una clase diferente, y tienen que cambiar la acción de detectores del temporizador de un atributo de la bomba que los usos de la clase de bomba para determinar cómo se pinta:

public class Bomb {
    boolean expired;

    // ...

    void draw(Graphics g) {
        g.setColor(expired ? Color.RED : Color.BLACK);
        g.fillOval(this.x * block, this.y * block, block, block);
    }
}

Cualquiera que sea la clase controla la lógica de su juego tendrá que crear un contador de tiempo cada vez que se crea una bomba:

Bomb bomb = new Bomb(x, y);
Timer timer = new Timer(10_000, e -> {
    bomb.expired = true;
});
timer.setRepeats(false);
timer.start();

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=284265&siteId=1
Recomendado
Clasificación