mvnForum Homepage Bienvenido domingo  |  Terminar sesión   
  Búsqueda  
  Indice |  Temas Recientes |  Quién Está en Línea |  Lista de Usuarios |  Mi Perfil |  Búsqueda |  Ayuda


Ir a »
Total de mensajes en este tema: 4 [Eliminar este Tema] [Mover este Tema]
[Ańadir a Mis Favoritos] [Ańadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 55 veces y tiene 3 respuestas Tema Siguiente
Femenino ncc
Extranjero



Ingresó: Jul 1, 2004
Mensajes: 3
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Imagen sesion 14 Responder a este mensaje
Responder citando
[Eliminar este Tema]

Tengo un problema: me funciona todo bien hasta que sustituyo las figuras geométricas por la imagen.
La cuestión es que la imagen sale pero no se mueve.
(No hace caso ni a las flechas ni a ESC).
He seguido los pasos que se indican en los ejercicios y tengo este problema. ¿A qué puede ser debido? Creo que se me escapa algo...sad
[Jul 21, 2004 2:45:03 PM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Masculino nacho
Miembro



Ingresó: Feb 1, 2004
Mensajes: 63
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Imagen sesion 14 Responder a este mensaje
Responder citando
[Eliminar este mensaje]

A primera vista no sabría decirte... si puedes, copia y pega el código de la clase aquí, para poder echarle un vistazo
[Jul 21, 2004 6:17:17 PM] Print Post    iiborra@dccia.ua.es Reportar mensaje ofensivo  Ir al inicio 
Femenino ncc
Extranjero



Ingresó: Jul 1, 2004
Mensajes: 3
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Imagen sesion 14 Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Ahí va el codigo:

public class Ej2 extends JFrame implements Runnable
{
public static final int ANCHO = 320;
public static final int ALTO = 240;
MiCanvas mc = new MiCanvas();
Thread t = new Thread(this);
int yObj = 0;
int anchoPantalla;
int altoPantalla;
Image figura;

public Ej2()
{
this.setUndecorated(true);

setSize(ANCHO, ALTO);

getContentPane().add(mc);

Toolkit tk = Toolkit.getDefaultToolkit();
figura = tk.createImage("modulo3/sesion14/figura.png");


this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});

t.start();



// Tomamos el dispositivo grafico
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();

// Mostramos dialogo para elegir un modo grafico
DlgModos dlg = new DlgModos(gd, this);
dlg.show();

anchoPantalla = dlg.modoSeleccionado.getWidth();
altoPantalla = dlg.modoSeleccionado.getHeight();


// Activamos el modo a pantalla completa, con el modo grafico seleccionado
gd.setFullScreenWindow(this);
gd.setDisplayMode(dlg.modoSeleccionado);

addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if (e.getKeyCode()==KeyEvent.VK_ESCAPE)
{
System.exit(0);
} else if (e.getKeyCode()==KeyEvent.VK_UP) {
if (yObj > 0)
yObj--;
} else if (e.getKeyCode()==KeyEvent.VK_DOWN) {
if (yObj < ALTO)
yObj++;
}
}
});
}

public void run()
{
while (true)
{
// Quitamos esta linea: yObj++;
mc.repaint();
try
{
Thread.sleep(100);
} catch (Exception ex) {}
}
}


public static void main(String[] args)
{
Ej2 e2 = new Ej2();
e2.show();
}

class MiCanvas extends Canvas
{
Image backbuffer = null;

public MiCanvas()
{
}

public void update(Graphics g)
{
paint(g);
}

public void paint(Graphics g)
{
if(backbuffer == null)
backbuffer = createImage(ANCHO, ALTO);

// Dibujamos los gráficos en el backbuffer

Graphics off_g = backbuffer.getGraphics();
off_g.clearRect(0, 0, ANCHO, ALTO);
off_g.drawImage(figura, 0, yObj,
figura.getWidth(this), figura.getHeight(this), this);

// Quitamos estas lineas, ya no las necesitamos:
// off_g.setColor(Color.blue);
// off_g.fillRect(5, yObj, 100, 25);
// off_g.setColor(Color.green);
// off_g.fillOval(125, yObj, 100, 50);

// Volcamos el backbuffer a pantalla, segun el tamaño de la misma

g.drawImage(backbuffer, 0, 0, anchoPantalla, altoPantalla, this);
g.dispose();

}
}
}
[Jul 21, 2004 11:51:46 PM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Masculino nacho
Miembro



Ingresó: Feb 1, 2004
Mensajes: 63
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Imagen sesion 14 Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Pues no sé qué decirte... he cogido tu código tal cual, lo he metido en el paquete "modulo3.sesion14" junto con la clase "DlgModos" y un fichero png, y me ha funcionado

Si dices que carga la imagen es porque la encuentra. Prueba a cambiar la imagen a cargar, y a poner la imagen más las figuras que dibujabas antes, y a ver qué se mueve y qué no.

También prueba a refrescar (F5) el proyecto en eclipse, por si algún cambio no lo hubiese cogido bien, y a recompilar todo para asegurarte de que tienes la última versión compilada de todo.
[Jul 22, 2004 10:05:32 AM] Print Post    iiborra@dccia.ua.es Reportar mensaje ofensivo  Ir al inicio 
[Versión imprimible] [Publicar nuevo tema]