secuencia de cambio de colores
Publicado por maruch (3 intervenciones) el 17/04/2019 00:33:09
Desarrollar una animación que simule un semáforo. Debe mostrar tres círculos, uno rojo, amarillo y verde.
Al darle click en Iniciar la secuencia de cambio de colores debe comenzar.
El círculo rojo debe durar 3 segundos, el amarillo 1 segundo y el verde 4 segundos.
Entre el rojo y el verde siempre debe pasar por el amarillo.
Hice dos clases y la interfaz llevo esto pero no se como seguir ayuda. Gracias
esta es la clase donde instancio todo
aquí creo el tablero
Al darle click en Iniciar la secuencia de cambio de colores debe comenzar.
El círculo rojo debe durar 3 segundos, el amarillo 1 segundo y el verde 4 segundos.
Entre el rojo y el verde siempre debe pasar por el amarillo.
Hice dos clases y la interfaz llevo esto pero no se como seguir ayuda. Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.awt.Color;
import static java.lang.Thread.sleep;
public class Bola {
private int x;
private int y;
private Color color;
int contador=0,temp=0,temp2=0,temp3=0,temp4=0;
public Bola(int x, int y, Color c) {
this.x = x;
this.y = y;
color = c;
}
public void cambiar(Color c)
{
color = c;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public Color getColor() {
return color;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
public class Tablero extends Canvas {
private Bola[] lista;
public Tablero() {
this.lista = new Bola[]{ new Bola(10, 10, Color.RED),
new Bola(10, 60, Color.YELLOW),
new Bola(10, 110, Color.GREEN)};
}
@Override
public void paint(Graphics g)
{
setBackground(Color.black);
for (Bola b : lista) {
if (b != null) {
g.setColor(b.getColor());
g.fillOval(b.getX(), b.getY(), 30, 30);
}
}
}
public void cambiar()
{
for (Bola b : lista) {
if (b != null) {
b.cambiar(Color.WHITE);
}
}
}
}
aquí creo el tablero
Valora esta pregunta


0