Java - necesito que la imagen se mueva

   
Vista:
Imágen de perfil de María de Alejandría

necesito que la imagen se mueva

Publicado por María de Alejandría (12 intervenciones) el 31/03/2017 16:56:20
Saludos.
Tengo un problema con este programa consistente en hacer que un Pacman formado al combinar varias imágenes se desplace en la dirección correspondiente a la tecla pulsada.
Mi problema es que al ejecutarlo únicamente se muestra una imagen fija. Gracias y perdón por las molestias


CLASE ANIMACIÓN

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
package main;
import java.awt.Color;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Animacion extends JComponent{
private final static int ANCHO = 768;
private final static int ALTO = 384;
 
private final int x, y;
private int z;
 
private boolean arriba, abajo, izquierda, derecha;
 
private Graphics g;
private final ImageIcon[] imageArray;
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image imagen0= toolkit.getImage("pacman.gif");
Image imagen1= toolkit.getImage("up1.gif");
Image imagen2= toolkit.getImage("up2.gif");
Image imagen3= toolkit.getImage("up3.gif");
Image imagen4= toolkit.getImage("down1.gif");
Image imagen5= toolkit.getImage("down2.gif");
Image imagen6= toolkit.getImage("down3.gif");
Image imagen7= toolkit.getImage("left1.gif");
Image imagen8= toolkit.getImage("left2.gif");
Image imagen9= toolkit.getImage("left3.gif");
Image imagen10= toolkit.getImage("right1.gif");
Image imagen11= toolkit.getImage("right2.gif");
Image imagen12= toolkit.getImage("right3.gif");
 
public Animacion() {
setPreferredSize(new Dimension(ANCHO, ALTO));
imageArray = new ImageIcon[13];
imageArray[0]=new ImageIcon(imagen0);
imageArray[1]=new ImageIcon(imagen1);
imageArray[2]=new ImageIcon(imagen2);
imageArray[3]=new ImageIcon(imagen3);
imageArray[4]=new ImageIcon(imagen4);
imageArray[5]=new ImageIcon(imagen5);
imageArray[6]=new ImageIcon(imagen6);
imageArray[7]=new ImageIcon(imagen7);
imageArray[8]=new ImageIcon(imagen8);
imageArray[9]=new ImageIcon(imagen9);
imageArray[10]=new ImageIcon(imagen10);
imageArray[11]=new ImageIcon(imagen11);
imageArray[12]=new ImageIcon(imagen12);
 
 
//Lugar donde aparece el Pacman al comenzar la ejecución del programa
x = 10;
y = 20;
addKeyListener(new KeyAdapter() {
//Tecla pulsada, el Pacman se mueve
@Override
public void keyPressed(KeyEvent e) {
actualizar(e.getKeyCode(), true);
}
//El Pacman no se mueve
@Override
public void keyReleased(KeyEvent e) {
actualizar(e.getKeyCode(), false);
}
public void actualizar(int keyCode, boolean pressed) {
//Define el movimiento del Pacman en función de la tecla pulsada
switch (keyCode) {
case KeyEvent.VK_UP:
 
arriba = pressed;
abajo=false;
derecha=false;
izquierda=false;
 
subir(g);
 
break;
case KeyEvent.VK_DOWN:
abajo = pressed;
 
arriba=false;
derecha=false;
izquierda=false;
 
abajo(g);
 
 
break;
case KeyEvent.VK_LEFT:
izquierda = pressed;
abajo=false;
derecha=false;
arriba=false;
 
izquierda(g);
break;
case KeyEvent.VK_RIGHT:
 
derecha = pressed;
abajo=false;
arriba=false;
izquierda=false;
 
derecha(g);
break;
}
}
});
 
}
 
 
 
@Override
public void paint(Graphics g) {
 
g.setColor(Color.BLACK);
g.fillRect(0, 0, ANCHO, ALTO);
if (z<3){
z=z+1;}
else {z=0;}
imageArray[z].paintIcon(this, g, x, y);
}
 
 
public void subir(Graphics g){
g.fillRect(0, 0, ANCHO, ALTO);
if (z<3){
z=z+1;}
else {z=0;}
imageArray[z].paintIcon(this, g, x, y);
 
}
 
 
public void abajo(Graphics g){
g.fillRect(0, 0, ANCHO, ALTO);
if (z<6){
z=z+1;}
else {z=4;}
imageArray[z].paintIcon(this, g, x, y);
 
}
 
 
public void izquierda(Graphics g){
g.fillRect(0, 0, ANCHO, ALTO);
if (z<9){
z=z+1;}
else {z=7;}
imageArray[z].paintIcon(this, g, x, y);
 
}
 
 
public void derecha(Graphics g){
g.fillRect(0, 0, ANCHO, ALTO);
if (z<12){
z=z+1;}
else {z=10;}
imageArray[z].paintIcon(this, g, x, y);
 
 
}
 
 
 
 
private void dibuja() throws Exception {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
paintImmediately(0, 0, ANCHO, ALTO);
}
});
}
}

CLASE MAIN

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
package main;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Main {
 
    Graphics g;
 
public static void main(String[] args) throws Exception {
        JFrame jf = new JFrame("Ejercicio1");
        jf.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            });
        jf.setResizable(false);
       Animacion ball = new Animacion();
        jf.getContentPane().add(ball);
        jf.pack();
        jf.setVisible(true);
 
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

necesito que la imagen se mueva

Publicado por Renzo nevermindman@gmail.com (210 intervenciones) el 31/03/2017 17:29:46
Tienes los archivos ?
pacman.gif
up1.gif
.....

Adjuntalos para ejecutarlo en local


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de María de Alejandría

necesito que la imagen se mueva

Publicado por María de Alejandría (12 intervenciones) el 31/03/2017 17:33:44
Saludos

Los adjunté antes de preguntar aquí
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito que la imagen se mueva

Publicado por Renzo nevermindman@gmail.com (210 intervenciones) el 31/03/2017 17:39:22
Están adjunto aquí en el foro ?
por otro lado, veo que tienes un método dibuja que no esta invocado en ningun lado.

Renzo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de María de Alejandría

necesito que la imagen se mueva

Publicado por María de Alejandría (12 intervenciones) el 31/03/2017 17:42:07
Saludos

Pido disculpas, no entendí bien a qué te referidas con adjuntar y pensé que querías decir adjuntar las en mi proyecto en lugar de en la web. En seguida las añado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de María de Alejandría

necesito que la imagen se mueva

Publicado por María de Alejandría (12 intervenciones) el 31/03/2017 17:49:08
Saludos de nuevo

Adjunto un archivo con las imágenes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito que la imagen se mueva

Publicado por Renzo nevermindman@gmail.com (210 intervenciones) el 31/03/2017 19:30:57
El problema es que el listener no está capturando el evento de teclado.
Me parece que no estas asignando bien el listener a tu jcomponent.

Haré unas pruebas.

Sugerencia: Buscar en la google "jcomponent addKeyListener"

Saludos

Renzo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito que la imagen se mueva

Publicado por Renzo nevermindman@gmail.com (210 intervenciones) el 31/03/2017 20:26:37
Hola,
estás ahí aun ?

Tengo un avance. Mira pruebalo.

Escribeme al hangsout


//////////////////////////Animacion.java///////////////////////////////////////

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
package pacman;
 
import java.awt.Color;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Animacion extends JComponent {
	private final static int ANCHO = 768;
	private final static int ALTO = 384;
 
	private int x, y;
	private int z;
 
	private boolean arriba, abajo, izquierda, derecha;
 
	private Graphics g;
	private final ImageIcon[] imageArray;
	Toolkit toolkit = Toolkit.getDefaultToolkit();
	Image imagen0 = toolkit.getImage("C:\\DATA\\img\\pacman.gif");
	Image imagen1 = toolkit.getImage("C:\\DATA\\img\\up1.gif");
	Image imagen2 = toolkit.getImage("C:\\DATA\\img\\up2.gif");
	Image imagen3 = toolkit.getImage("C:\\DATA\\img\\up3.gif");
	Image imagen4 = toolkit.getImage("C:\\DATA\\img\\down1.gif");
	Image imagen5 = toolkit.getImage("C:\\DATA\\img\\down2.gif");
	Image imagen6 = toolkit.getImage("C:\\DATA\\img\\down3.gif");
	Image imagen7 = toolkit.getImage("C:\\DATA\\img\\left1.gif");
	Image imagen8 = toolkit.getImage("C:\\DATA\\img\\left2.gif");
	Image imagen9 = toolkit.getImage("C:\\DATA\\img\\left3.gif");
	Image imagen10 = toolkit.getImage("C:\\DATA\\img\\right1.gif");
	Image imagen11 = toolkit.getImage("C:\\DATA\\img\\right2.gif");
	Image imagen12 = toolkit.getImage("C:\\DATA\\img\\right3.gif");
 
	public Animacion() {
		setPreferredSize(new Dimension(ANCHO, ALTO));
		imageArray = new ImageIcon[13];
		imageArray[0] = new ImageIcon(imagen0);
		imageArray[1] = new ImageIcon(imagen1);
		imageArray[2] = new ImageIcon(imagen2);
		imageArray[3] = new ImageIcon(imagen3);
		imageArray[4] = new ImageIcon(imagen4);
		imageArray[5] = new ImageIcon(imagen5);
		imageArray[6] = new ImageIcon(imagen6);
		imageArray[7] = new ImageIcon(imagen7);
		imageArray[8] = new ImageIcon(imagen8);
		imageArray[9] = new ImageIcon(imagen9);
		imageArray[10] = new ImageIcon(imagen10);
		imageArray[11] = new ImageIcon(imagen11);
		imageArray[12] = new ImageIcon(imagen12);
 
		// Lugar donde aparece el Pacman al comenzar la ejecución del programa
		x = 10;
		y = 20;
		addKeyListener(new KeyAdapter() {
			// Tecla pulsada, el Pacman se mueve
			@Override
			public void keyPressed(KeyEvent e) {
				System.out.println("pacman se mueve");
 
				actualizar(e.getKeyCode(), true);
			}
 
			// El Pacman no se mueve
			@Override
			public void keyReleased(KeyEvent e) {
				System.out.println("pacman no se mueve");
				actualizar(e.getKeyCode(), false);
			}
 
 
		});
 
	}
 
	@Override
	public void paintComponent(Graphics g) {
 
		g.setColor(Color.BLACK);
		g.fillRect(0, 0, ANCHO, ALTO);
		if (z < 3) {
			z = z + 1;
		} else {
			z = 0;
		}
		System.out.println("ppppp");
		imageArray[z].paintIcon(this, g, x, y);
	}
 
	public void subir(Graphics g) {
		g.fillRect(0, 0, ANCHO, ALTO);
		if (z < 3) {
			z = z + 1;
		} else {
			z = 0;
		}
		imageArray[z].paintIcon(this, g, x, y);
 
	}
 
	public void abajo(Graphics g) {
		g.fillRect(0, 0, ANCHO, ALTO);
		if (z < 6) {
			z = z + 1;
		} else {
			z = 4;
		}
		imageArray[z].paintIcon(this, g, x, y);
 
	}
 
	public void izquierda(Graphics g) {
		g.fillRect(0, 0, ANCHO, ALTO);
		if (z < 9) {
			z = z + 1;
		} else {
			z = 7;
		}
		imageArray[z].paintIcon(this, g, x, y);
 
	}
 
	public void derecha(Graphics g) {
		g.fillRect(0, 0, ANCHO, ALTO);
		if (z < 12) {
			z = z + 1;
		} else {
			z = 10;
		}
		imageArray[z].paintIcon(this, g, x, y);
 
	}
 
 
	public void actualizar(int keyCode, boolean pressed) {
		// Define el movimiento del Pacman en función de la tecla
		// pulsada
		System.out.println("->"+keyCode);
 
		switch (keyCode) {
		case KeyEvent.VK_UP:
 
			arriba = pressed;
			abajo = false;
			derecha = false;
			izquierda = false;
			System.out.println("ejecuta subir();");
 
			//subir(g);
 
			break;
		case KeyEvent.VK_DOWN:
			abajo = pressed;
 
			arriba = false;
			derecha = false;
			izquierda = false;
 
			System.out.println("ejecuta abajo();");
			//abajo(g);
 
			break;
		case KeyEvent.VK_LEFT:
			izquierda = pressed;
			abajo = false;
			derecha = false;
			arriba = false;
 
			//izquierda(g);
			System.out.println("ejecuta izquierda();");
			break;
		case KeyEvent.VK_RIGHT:
 
			derecha = pressed;
			abajo = false;
			arriba = false;
			izquierda = false;
 
			//derecha(g);
			this.x=100;
			this.y=100;
			this.paintComponent(this.getGraphics());
			System.out.println("ejecuta derecha();");
			break;
		}
		///////////
		try{
			//dibuja();	
		}
		catch(Exception e){
			System.out.println(e.getMessage());
		}
		/////////
 
	}
 
 
	public void dibuja() throws Exception {
		SwingUtilities.invokeAndWait(new Runnable() {
			public void run() {
				paintImmediately(0, 0, ANCHO, ALTO);
			}
		});
	}
}



/////////////////////////Main.java///////////////////////////////////

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package pacman;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Main {
 
	Graphics g;
 
	public static void main(String[] args) throws Exception {
		JFrame jf = new JFrame("Ejercicio1");
		jf.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		jf.setResizable(false);
		final Animacion ball = new Animacion();
		jf.getContentPane().add(ball);
		jf.pack();
		jf.setVisible(true);
 
		System.out.println("-------------"+jf.getContentPane().getComponentCount());
		System.out.println("-------------"+(Animacion)(jf.getContentPane().getComponent(0)));
 
 
		jf.addKeyListener(new KeyAdapter() {
 
			// Tecla pulsada, el Pacman se mueve
			@Override
			public void keyPressed(KeyEvent e) {
				System.out.println("pacman se mueve");
				//ball.derecha();
				ball.actualizar(e.getKeyCode(), true);
			}
 
			// El Pacman no se mueve
			/*
			@Override
			public void keyReleased(KeyEvent e) {
				System.out.println("pacman no se mueve");
				ball.actualizar(e.getKeyCode(), false);
			}
			*/
 
			public void actualizar(int keyCode, boolean pressed) {
				// Define el movimiento del Pacman en función de la tecla
				// pulsada
				//System.out.println("->"+keyCode);
 
 
 
				///////////
				try{
					//ball.dibuja();	
				}
				catch(Exception e){
					System.out.println(e.getMessage());
				}
				/////////
 
			}
 
        }
	);
 
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito que la imagen se mueva

Publicado por Renzo nevermindman@gmail.com (210 intervenciones) el 31/03/2017 21:18:47
Creo que ya está listo.
Solo algunos cambios:

El listener del teclado se lo añadí al frame y no a la clase Animacion
No fue necesario añadir el listener para el keyReleased
Le añadí una lógica diferente para la determinación de la imagen a cargar.
Para mi facilidad en mi entorno de trabajo, las imágenes las cargo desde una ruta absoluta "C:\\DATA\\img\\pacman.gif" en tu caso cambia la ruta o pon la ruta relativa que tenías antes.
Lo más importante, para pintar tenía que sobreescribir el método paintComponent.

Te dejo las clases, para que las pruebes. Si te quedan más dudas, me lo dices.


///////////////////////Animacion///////////////////////////////
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package pacman;
 
import java.awt.Color;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Animacion extends JComponent {
	private final static int ANCHO = 768;
	private final static int ALTO = 384;
 
	private int x, y;
	private int z;
	private int anterior=0;
	private boolean arriba, abajo, izquierda, derecha;
 
	private Graphics g;
	private final ImageIcon[] imageArray;
	Toolkit toolkit = Toolkit.getDefaultToolkit();
	Image imagen0 = toolkit.getImage("C:\\DATA\\img\\pacman.gif");
	Image imagen1 = toolkit.getImage("C:\\DATA\\img\\up1.gif");
	Image imagen2 = toolkit.getImage("C:\\DATA\\img\\up2.gif");
	Image imagen3 = toolkit.getImage("C:\\DATA\\img\\up3.gif");
	Image imagen4 = toolkit.getImage("C:\\DATA\\img\\down1.gif");
	Image imagen5 = toolkit.getImage("C:\\DATA\\img\\down2.gif");
	Image imagen6 = toolkit.getImage("C:\\DATA\\img\\down3.gif");
	Image imagen7 = toolkit.getImage("C:\\DATA\\img\\left1.gif");
	Image imagen8 = toolkit.getImage("C:\\DATA\\img\\left2.gif");
	Image imagen9 = toolkit.getImage("C:\\DATA\\img\\left3.gif");
	Image imagen10 = toolkit.getImage("C:\\DATA\\img\\right1.gif");
	Image imagen11 = toolkit.getImage("C:\\DATA\\img\\right2.gif");
	Image imagen12 = toolkit.getImage("C:\\DATA\\img\\right3.gif");
 
	public Animacion() {
		setPreferredSize(new Dimension(ANCHO, ALTO));
		imageArray = new ImageIcon[13];
		imageArray[0] = new ImageIcon(imagen0);
		imageArray[1] = new ImageIcon(imagen1);
		imageArray[2] = new ImageIcon(imagen2);
		imageArray[3] = new ImageIcon(imagen3);
		imageArray[4] = new ImageIcon(imagen4);
		imageArray[5] = new ImageIcon(imagen5);
		imageArray[6] = new ImageIcon(imagen6);
		imageArray[7] = new ImageIcon(imagen7);
		imageArray[8] = new ImageIcon(imagen8);
		imageArray[9] = new ImageIcon(imagen9);
		imageArray[10] = new ImageIcon(imagen10);
		imageArray[11] = new ImageIcon(imagen11);
		imageArray[12] = new ImageIcon(imagen12);
 
		// Lugar donde aparece el Pacman al comenzar la ejecución del programa
		x = 10;
		y = 20;
		z = 1;
 
 
	}
 
	@Override
	public void paintComponent(Graphics g) {
 
		g.setColor(Color.BLACK);
		g.fillRect(0, 0, ANCHO, ALTO);
		int direccion=4;
 
		z++;
		if(z==3)
			z=0;
 
		if(arriba) direccion=1;
		if(abajo) direccion=2;
		if(izquierda) direccion=3;
		if(derecha) direccion=4;
 
		imageArray[3*(direccion-1)+z+1].paintIcon(this, g, x, y);
 
		if(arriba) anterior=1;
		if(abajo) anterior=2;
		if(izquierda) anterior=3;
		if(derecha) anterior=4;
	}
	public void actualizar(int keyCode, boolean pressed) {
		// Define el movimiento del Pacman en función de la tecla
		// pulsada
		switch (keyCode) {
		case KeyEvent.VK_UP:
 
			arriba = pressed;
			abajo = false;
			derecha = false;
			izquierda = false;
 
			y--;
 
 
			this.paintComponent(this.getGraphics());
			break;
		case KeyEvent.VK_DOWN:
			abajo = pressed;
 
			arriba = false;
			derecha = false;
			izquierda = false;
			y++;
			this.paintComponent(this.getGraphics());
			break;
		case KeyEvent.VK_LEFT:
			izquierda = pressed;
			abajo = false;
			derecha = false;
			arriba = false;
			x--;
			this.paintComponent(this.getGraphics());
			break;
		case KeyEvent.VK_RIGHT:
 
			derecha = pressed;
			abajo = false;
			arriba = false;
			izquierda = false;
			x++;
			this.paintComponent(this.getGraphics());
			break;
		}
	}
 
}



///////////////////////////////////Main//////////////////////////////////////////////

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
37
38
39
40
41
42
43
44
45
46
47
48
package pacman;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Main {
 
	Graphics g;
 
	public static void main(String[] args) throws Exception {
		JFrame jf = new JFrame("Ejercicio1");
		jf.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		jf.setResizable(false);
		final Animacion ball = new Animacion();
		jf.getContentPane().add(ball);
		jf.pack();
		jf.setVisible(true);
 
		jf.addKeyListener(new KeyAdapter() {
 
			// Tecla pulsada, el Pacman se mueve
			@Override
			public void keyPressed(KeyEvent e) {
 
				//ball.derecha();
				ball.actualizar(e.getKeyCode(), true);
			}
 
			// El Pacman no se mueve
			/*
			@Override
			public void keyReleased(KeyEvent e) {
				System.out.println("pacman no se mueve");
				ball.actualizar(e.getKeyCode(), false);
			}
			*/
 
        }
	);
 
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de María de Alejandría

necesito que la imagen se mueva

Publicado por María de Alejandría (12 intervenciones) el 01/04/2017 16:18:49
Saludos

En primer lugar doy gracias por el aporte, me ha resuelto el problema,en serio, muchas gracias.

Aunque tengo un par de dudas:

¿Para qué sirve la variable anterior?. Si la elimino el programa funciona igualmente pero me gustaría saber si tiene alguna utilidad especial.

¿Por qué cuando se hace que el Pacman vaya hacia arriba y disminuye y al bajar y se incrementa y no a la inversa?

De nuevo mis disculpas por las molestias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito que la imagen se mueva

Publicado por Renzo nevermindman@gmail.com (210 intervenciones) el 01/04/2017 16:34:50
Hola
Tienes razón, esa variable no es usada. Olvidé borrarla pues inicialmente la había pensado usar para determinar el momento que hay que cambiar de dirección.
Al final lo resolví se otro modo.

Estamos para ayudar.
Por si te interesa, ayudo a estudiantes via Skype compartiendo mi pantalla después del trabajo. Resolvemos ejercicios que tengan. Es gratis claro. Por si les interesa acuerdan un ejercicio o tema por revisar y planificamos una presentación.


Saludos

Renzo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de María de Alejandría

necesito que la imagen se mueva

Publicado por María de Alejandría (12 intervenciones) el 01/04/2017 16:45:30
De acuerdo. Muchas gracias por la oferta.
Si me vuelve a surgir algún problema lo comento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito que la imagen se mueva

Publicado por YYanes (144 intervenciones) el 31/03/2017 18:53:43
Bueno, si la imagen sigue sin moverse pruebe poniéndole un vibrador al monitor, que de seguro la imagen con programa y todo va a bailar la "lambada" :D (broma)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad