Libros o lo que sea sobre juegos en java

Iniciado por ~[uNd3rc0d3]~, 23 Enero 2009, 05:41 AM

0 Miembros y 1 Visitante están viendo este tema.

Pablo Videla

Cita de: ~[uNd3rc0d3]~ en 24 Enero 2009, 03:55 AM
E0N te pregunto....(o cualquiera que quiera responder :P )

yo consigo hacer el scroll en java pero lo que no se es cuantas vases cargo la imagen detras.....osea hago tres imagenes y al pasarlas se terminan obvio....lo que yo quiero hacer es agregar varias....probe con un for y no sale nada....probe llamando varias vee a la imagen y ahi si....

conclusion: como llamas varias veces a la imagen para que carge, proque yo tengo que llamarla asi

dibujar()
dibujar()
dibujar()

no puedo con for no me sale

gracias =D

probaste con un while?

Amerikano|Cls

Cita de: ~[uNd3rc0d3]~ en 24 Enero 2009, 03:55 AM
E0N te pregunto....(o cualquiera que quiera responder :P )

yo consigo hacer el scroll en java pero lo que no se es cuantas vases cargo la imagen detras.....osea hago tres imagenes y al pasarlas se terminan obvio....lo que yo quiero hacer es agregar varias....probe con un for y no sale nada....probe llamando varias vee a la imagen y ahi si....

conclusion: como llamas varias veces a la imagen para que carge, proque yo tengo que llamarla asi

dibujar()
dibujar()
dibujar()

no puedo con for no me sale

gracias =D

Y como fue el for que pusiste?, pon el code ;)




Mi blog:
http://amerikanocls.blogspot.com

~~

Cita de: ~[uNd3rc0d3]~ en 24 Enero 2009, 03:55 AM
E0N te pregunto....(o cualquiera que quiera responder :P )

yo consigo hacer el scroll en java pero lo que no se es cuantas vases cargo la imagen detras.....osea hago tres imagenes y al pasarlas se terminan obvio....lo que yo quiero hacer es agregar varias....probe con un for y no sale nada....probe llamando varias vee a la imagen y ahi si....

conclusion: como llamas varias veces a la imagen para que carge, proque yo tengo que llamarla asi

dibujar()
dibujar()
dibujar()

no puedo con for no me sale

gracias =D

No entiendo muy bien lo que estás preguntando.... Quieres hacer un scroll con un mapa pintado con "cuadraditos"? o como, explicate un poco mejor (y pon algo de code) que no se entiende xD

~[uNd3rc0d3]~

el code no lo tengo a mano....pero viste como haces vos los juegos que desde el doblebuffer(Grapohics2D g2)

comprobas las coliciones
pintas
moves
repaint()

cuando pintas llamas el metodo dibujar de la clase prota por ejemplo que le pasas Graphics2D y BufferedImage

ej

prota.dibujar(g2,prota.getImage());
enemigo.dibujar(g2,enemigo.getImage());
pelota.dibujar(g2,pelota.getImage());

bueno el fondo que yo tengo es una imagen del mismo tamaño que el frame (getSize()) que la coloco en posx=0 posy=0 la misma imagen la coloco en posx=0+ancho posy=0

entonces queda como en los dibujitos que vos caminas y es siempre la misma imagen.....

el tema es que para cargarla hice asi

for(int a=0;a<6;a++) {
    fondo.dibujar(g2,fon);
}

fon = fondo.getImage();

public BufferedImage getImage() {
    try {
        return ImageIO.read(new File(rutaImagen));
   }

....

algo asi es el metodo

ahi lo llamae 6 veces con for y nada....pero si lo llamo asi

fondo.dibujar(g2,fon);
fondo.dibujar(g2,fon);
fondo.dibujar(g2,fon);
fondo.dibujar(g2,fon);

si cargan las imagen.....

no probe con while ahora probare.....


leete las reglas asi todos estamos mejor ;)

~~

No se exactamente para que quierse hacer eso, pero con un for funciona perfectamente:

Main.java
Código (java) [Seleccionar]

import java.awt.*;
import javax.swing.*;


public class Main extends JFrame
{

    public static final int ANCHO = 600;
    public static final int ALTO  = 350;
   
    Monigote monigote = new Monigote();

   
    public static void main(String[] args) { new Main(); }
   
    public Main()
    {
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setSize(ANCHO, ALTO);
        this.setLocation(150,150);
        this.setResizable(false);

        this.setVisible(true);
    }

   
    public void dobleBuffer(Graphics2D g2)
    {       
       
        for (int n=0; n<6; n++)
            monigote.dibujar(g2, n*10, 0);
       
       
        try{ Thread.sleep(3); }catch(Exception e) {}
        repaint();
    }
   
    public void paint(Graphics g)
    {
        Graphics2D g2 = (Graphics2D) g;
       
        Image mImage = createImage(ANCHO, ALTO);
        dobleBuffer((Graphics2D)mImage.getGraphics());
       
        g2.drawImage(mImage, 0, 20, this);
    } 
}


Monigote.java
Código (java) [Seleccionar]

import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;

public class Monigote
{
    private BufferedImage imagen;
    private final String rutaImagen = "/home/e0n/monigote.jpg";
   
    Monigote()
    {
        try{           
            imagen = ImageIO.read(new File(rutaImagen));
        } catch(Exception e) {}
    }
   
    public void dibujar(Graphics2D g2, int posX, int posY)
    {
        g2.drawImage(imagen, posX, posY, null);
    } 
}


Normalmente para dibujar un fondo se usan imágenes pequeñas cuadradas (de 32x32 o 64x64) puestas una a continuación de la otra conformando el mapa, puedes ver como hacer esto en el link que puse anteriormente. Claro está siempre y cuando vayas a hacer un juego tipo zelda o algo así ;)

1S4ludo, E0N

PD - Usa el getImage en la constructora de la clase, es bastante más eficiente (como en el ejemplo que acabo de ponerte :P)

~[uNd3rc0d3]~

Cita de: E0N en 25 Enero 2009, 01:27 AM
PD - Usa el getImage en la constructora de la clase, es bastante más eficiente (como en el ejemplo que acabo de ponerte :P)

ok lo hare....

ya ahora me anda.....la diferencia creo que la hace el Thread.sleep

gracias

leete las reglas asi todos estamos mejor ;)

jezu00

Yo te puedo pasar mi open source sobre la aplicación java de el juego Ataxx en 2d con su minmax si lo quieres mandame un mp y te lo subo si quieres a algun lado


Amerikano|Cls

Cita de: jezu00 en  3 Febrero 2009, 03:51 AM
Yo te puedo pasar mi open source sobre la aplicación java de el juego Ataxx en 2d con su minmax si lo quieres mandame un mp y te lo subo si quieres a algun lado

Y por que no lo posteas aca? y mas cuando es Open Source, yo creo que es la mejor forma de colaborar con los que estan aprendiendo en esto de los juegos.

PD: Falta poco para el mio  ;D




Mi blog:
http://amerikanocls.blogspot.com

~[uNd3rc0d3]~

lo siento pero solo es un cuadrado blanco que mueve el fondo es muy practico nada contundente.... ademas lo tengo en una PC sin inet y pasar el code :P

pronto posteare algun juego de naves con el fondo haciendo un scroll hacia abajo y varias cosas.... tipo un 1942 (creo que era asi) quines hayan juegado al famili lo recordaran sino lo posteare dentro de poco

saludos

leete las reglas asi todos estamos mejor ;)

jezu00

#19
Cita de: AmeRiK@nO en  3 Febrero 2009, 04:48 AM
Cita de: jezu00 en  3 Febrero 2009, 03:51 AM
Yo te puedo pasar mi open source sobre la aplicación java de el juego Ataxx en 2d con su minmax si lo quieres mandame un mp y te lo subo si quieres a algun lado

Y por que no lo posteas aca? y mas cuando es Open Source, yo creo que es la mejor forma de colaborar con los que estan aprendiendo en esto de los juegos.

PD: Falta poco para el mio  ;D


Perdon por la tardanza pero no he leido tu msj ahora te lo subo y edito este post .

El juego esta muy bien documentado no creo que tengas problemas para ejecutarlo. Supongo que como todo habrá cosas que esten mejor y peor en su defecto creo que funciona de forma correcta y tiene un poco de serialización,minmax, uso de stacks... esta mas o menos completa

Si alguien lo quiere que me mande un mp