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: 6 [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 83 veces y tiene 5 respuestas Tema Siguiente
Masculino tmr
Extranjero



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

Adjuntar archivo   Editar este mensaje   Retardo pintando comida Responder a este mensaje
Responder citando
[Eliminar este Tema]

Muy buenas:

Aqui pongo mi método dibuja, el error que me da es que cada vez que arranco el juego, no veo la comida hasta que baja una altura mas o menos como la de yogui, pero cuando baja la segunda comida aparece desde arriba del todo y también las demás, ¿a que se puede deber? ¿ Porque solo me ocurre con la primera comida que baja?

public void dibuja(Graphics g)
{
// Limpiar area
g.clearRect(0, 0, ANCHO, ALTO);


// Dibujar fondo
g.drawImage(fondo, 0, 0, ANCHO, ALTO, this);

// Dibujar a Yogi
Shape clip = g.getClip();
g.setClip(xIni, ALTO - SpriteYogi.ALTO, SpriteYogi.ANCHO, SpriteYogi.ALTO);
g.drawImage(sprn.sprites, xIni - sprn.x, ALTO - SpriteYogi.ALTO, sprn.width, sprn.height, this);
g.setClip(clip);

Shape clip2 = g.getClip();
g.setClip(xComida, yComida, SpriteComida.LADO, SpriteComida.LADO);
g.drawImage(sprc.sprites, xComida - sprc.x, yComida,sprc.width, sprc.height, this);
g.setClip(clip2);

// Liberar recursos
g.dispose();
}

Gracias
[Jul 22, 2004 11:39:23 AM] Print Post    amr22@alu.ua.es Reportar mensaje ofensivo  Ir al inicio 
Masculino nacho
Miembro



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

Adjuntar archivo   Editar este mensaje   Re: Retardo pintando comida Responder a este mensaje
Responder citando
[Eliminar este mensaje]

No sé si el fallo estará en el método "dibuja"... asegúrate de que la variable "yComida" al empezar el juego vale 0, y si puedes, copia y pega el "run", que es posible que el fallo lo puedas tener por una de esas cosas.
[Jul 22, 2004 12:00:59 PM] Print Post    iiborra@dccia.ua.es Reportar mensaje ofensivo  Ir al inicio 
Masculino tmr
Extranjero



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

Adjuntar archivo   Editar este mensaje   cool   Re: Retardo pintando comida Responder a este mensaje
Responder citando
[Eliminar este mensaje]

He ido incrementando el juego y cuantas mas cosas pinto (ahora pinto las vidas también) mas tardan en salirme los objetos por primera vez.

Aqui va el run:
public void run()
{
while (true)
{
repaint();

if (yComida + 20 > ALTO - SpriteYogi.ALTO)
if ((xComida + 10) > xIni && (xComida + 10) < (xIni + SpriteYogi.ANCHO)) {
puntos++;
yComida = 0;
xComida = (int) (Math.random()*390);
sprc.setFrame((int) (Math.random()*3));
}

if (yComida + INC_MOV_COMIDA < ALTO) {
yComida = yComida + INC_MOV_COMIDA;
} // Si no quito vida. Y primero ver si la ha cogido yogui
else {
yComida = 0;
vidas = vidas-1;
xComida = (int) (Math.random()*390);
sprc.setFrame((int) (Math.random()*3));
}
//repaint();

try
{
Thread.currentThread().sleep(100);
} catch (Exception e) {}
}
}
[Jul 22, 2004 12:18:39 PM] Print Post    amr22@alu.ua.es Reportar mensaje ofensivo  Ir al inicio 
Masculino nacho
Miembro



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

Adjuntar archivo   Editar este mensaje   Re: Retardo pintando comida Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Si es eso, prueba a poner un MediaTracker en cada imagen que cargues, tal y como se explica en el enunciado, para que no pase a hacer otra cosa hasta que no tenga la imagen cargada.

En cualquier caso, se pide que el juego haga lo que dice, no que vaya rápido smile De todas formas, igual es algo de requerimientos. Qué máquina tienes?
[Jul 22, 2004 9:27:48 PM] Print Post    iiborra@dccia.ua.es Reportar mensaje ofensivo  Ir al inicio 
Masculino tmr
Extranjero



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

Adjuntar archivo   Editar este mensaje   Re: Retardo pintando comida Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Buenas, lo he puesto para que no arranque la animación hasta que se pulse un botón, y así puedes esperar a que cargue todas las imagenes, etc. Tengo el mediatracker puesto en las imagenes, pero ¿se puede poner tambien para los sprites? Son estos los que tardan en aparecer.
Lo voy a dejar así, ya que no creo que sea cuestión de programación.

Muchas gracias por todo.
[Jul 23, 2004 9:57:33 AM] Print Post    amr22@alu.ua.es Reportar mensaje ofensivo  Ir al inicio 
Masculino nacho
Miembro



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

Adjuntar archivo   Editar este mensaje   Re: Retardo pintando comida Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Se puede poner en los sprites, pero cuando cargues la imagen de dentro. Por ejemplo el SpriteYogi tiene un campo "Image" que es la imagen de los sprites. Cuando la inicialices en el constructor, le pones el mediatracker. Y lo mismo para las demás imágenes.
[Jul 23, 2004 2:22:08 PM] Print Post    iiborra@dccia.ua.es Reportar mensaje ofensivo  Ir al inicio 
[Versión imprimible] [Publicar nuevo tema]