Autor Tema: [Tutoriales Traducidos] Imagenes y Juegos con Java  (Leído 983 veces)

Desconectado gink

  • PHPer@ Fijo
  • ***
  • Mensajes: 146
  • Karma: 10
  • Sexo: Masculino
    • Ver Perfil
    • Mi blog personal
[Tutoriales Traducidos] Imagenes y Juegos con Java
« en: 03 de Diciembre de 2010, 19:59:46 pm »
Moviendo una Pelota

El código original es de: http://www.javacooperation.gmxhome.de/
Esta programado como Applet (Para ser reproducido en un Navegador).
Yo lo traduje y le agrege algunos comentarios para aclarar. ¡Cuidense!

Código: [Seleccionar]
import java.applet.*; // El import es lo mismo que el #Include en C y Php. El * Significa TODO.
import java.awt.*;

public class Ballbewegung1 extends Applet implements Runnable //Recordamos incluir el Applet
{
// Inicializamos las variables
int x_pos = 10; // Coordenada inicial X
int y_pos = 100; // Coordenada Inicial Y
int radius = 20; // Radio de la Pelota

public void init()
{
setBackground (Color.blue); //Color de fondo
}

public void start ()
{
// Creamos un nuevo thread (Este mismo) con el nombre th
Thread th = new Thread (this);
// Iniciamos th (El thread recien creado)
th.start ();
}

public void stop()
{

}

public void destroy()
{

}

public void run ()
{
// Thread de Minima Prioridad
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

// Mientras el Thread este corriendo...
while (true)
{
// Aumenta la coordenada
x_pos ++;

// Re-Pinta el Applet
repaint();

try
{
// Para al Thread por 20 milisegundos
Thread.sleep (20);
}
catch (InterruptedException ex)
{
// do nothing
}

// Thread de Maxima Prioridad (En el while, mientras este corriendo)
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}


public void paint (Graphics g)
{
g.setColor  (Color.red); //Declaramos el color de la pelota

g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius); //Dibujamos la pelota
}

}

Demostracion del Applet: http://www.javacooperation.gmxhome.de/Applets/Ballbewegung1/BallBewegung1Applet.html


Moviendo una Pelota con DobleBuffer

Comparen con el anterior para aprender mas :).
Yo lo traduje y le agrege algunos comentarios para aclarar. ¡Cuidense!

Código: [Seleccionar]
import java.applet.*; // El import es lo mismo que el #Include en C y Php. El * Significa TODO.
import java.awt.*;

public class Ballbewegung1 extends Applet implements Runnable //Recordamos incluir el Applet
{
// Inicializamos las variables
int x_pos = 10; // Coordenada inicial X
int y_pos = 100; // Coordenada Inicial Y
int radius = 20; // Radio de la Pelota

// Variables de doblebuffer
private Image dbImage;
private Graphics dbg;


public void init()
{
setBackground (Color.blue); //Color de fondo
}

public void start ()
{
// Creamos un nuevo thread (Este mismo) con el nombre th
Thread th = new Thread (this);
// Iniciamos th (El thread recien creado)
th.start ();
}

public void stop()
{

}

public void destroy()
{

}

public void run ()
{
// Thread de Minima Prioridad
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

// Mientras el Thread este corriendo...
while (true)
{
// Aumenta la coordenada
x_pos ++;

// Re-Pinta el Applet
repaint();

try
{
// Para al Thread por 20 milisegundos
Thread.sleep (20);
}
catch (InterruptedException ex)
{
// do nothing
}

// Thread de Maxima Prioridad (En el while, mientras este corriendo)
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}



public void update (Graphics g)
{
// Iniciamos el doble Buffer
if (dbImage == null)
{
dbImage = createImage (this.getSize().width, this.getSize().height);
dbg = dbImage.getGraphics ();
}

// Sera igual a nuestra imagen actual.
dbg.setColor (getBackground ());
dbg.fillRect (0, 0, this.getSize().width, this.getSize().height);

// El fondo sera nuestra imagen actual.
dbg.setColor (getForeground());
paint (dbg);

// Dibujamos el doble.
g.drawImage (dbImage, 0, 0, this);
}

public void paint (Graphics g)
{
g.setColor  (Color.red); //Declaramos el color de la pelota

g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius); //Dibujamos la pelota
}

}

Demostracion del Applet: http://www.javacooperation.gmxhome.de/Applets/Doppelpufferung/BallBewegung2Applet.html


Cambiando velocidad y direccion de una Pelota

Comparen con el anterior para aprender mas :). Aquí hacemos que la pelota "rebote" al tocar un extremo.
Yo lo traduje y le agrege algunos comentarios para aclarar. ¡Cuidense!

Código: [Seleccionar]
import java.applet.*; // El import es lo mismo que el #Include en C y Php. El * Significa TODO.
import java.awt.*;

public class Ballbewegung1 extends Applet implements Runnable //Recordamos incluir el Applet
{
// Inicializamos las variables
int x_pos = 10; // Coordenada inicial X
int y_pos = 100; // Coordenada Inicial Y
int radius = 20; // Radio de la Pelota
int appletsize_x = 300; // Tamaño del applet
int appletsize_y = 300; // Tamaño del applet

// Variables de doblebuffer
private Image dbImage;
private Graphics dbg;


public void init()
{
setBackground (Color.blue); //Color de fondo
}

public void start ()
{
// Creamos un nuevo thread (Este mismo) con el nombre th
Thread th = new Thread (this);
// Iniciamos th (El thread recien creado)
th.start ();
}

public void stop()
{

}

public void destroy()
{

}

public void run ()
{
// Thread de Minima Prioridad
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

// Mientras el Thread este corriendo...
while (true)
{
// Aumenta la coordenada
x_pos ++;

// Re-Pinta el Applet
repaint();

try
{
// Para al Thread por 20 milisegundos
Thread.sleep (20);
}
catch (InterruptedException ex)
{
// do nothing
}

// Thread de Maxima Prioridad (En el while, mientras este corriendo)
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}



public void update (Graphics g)
{
// Iniciamos el doble Buffer
if (dbImage == null)
{
dbImage = createImage (this.getSize().width, this.getSize().height);
dbg = dbImage.getGraphics ();
}

// Sera igual a nuestra imagen actual.
dbg.setColor (getBackground ());
dbg.fillRect (0, 0, this.getSize().width, this.getSize().height);

// El fondo sera nuestra imagen actual.
dbg.setColor (getForeground());
paint (dbg);

// Dibujamos el doble.
g.drawImage (dbImage, 0, 0, this);
}

public void paint (Graphics g)
{
g.setColor  (Color.red); //Declaramos el color de la pelota

g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius); //Dibujamos la pelota
}

}

Demostracion del Applet: http://www.javacooperation.gmxhome.de/Applets/BallStop/BallBewegungReverseApplet.html
« Última modificación: 03 de Diciembre de 2010, 20:20:18 pm por gink »

Comunidad PHPeros

[Tutoriales Traducidos] Imagenes y Juegos con Java
« en: 03 de Diciembre de 2010, 19:59:46 pm »

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[Tutoriales Traducidos] Imagenes y Juegos con Java
« Respuesta #1 en: 03 de Diciembre de 2010, 20:48:56 pm »

Si te digo la verdad, no se nada de Java y no tengo pensado hacerlo pero te conozco y seque tu eres de los que te esfuerzas por lo que por mi parte, te llevas un K+

#Fdo. Physlet

Desconectado gink

  • PHPer@ Fijo
  • ***
  • Mensajes: 146
  • Karma: 10
  • Sexo: Masculino
    • Ver Perfil
    • Mi blog personal
Re:[Tutoriales Traducidos] Imagenes y Juegos con Java
« Respuesta #2 en: 03 de Diciembre de 2010, 23:38:32 pm »
Si te digo la verdad, no se nada de Java y no tengo pensado hacerlo pero te conozco y seque tu eres de los que te esfuerzas por lo que por mi parte, te llevas un K+
Muchas gracias :). El java es genial porque es un codigo "neutro". Funciona en absolutamente todas las plataformas (Ponle un chip a una cafetera y allí te funcionara el java).

Además si sabes PHP y C aprender java te costara tan solo unas pocas horas.
Y sin contar que tiene innumerables funciones sin agregar ningún molesto API o Librería. Las conecciones cliente-servidor son mas sencillas que en cualquier otro lenguaje, y sin contar que el manejo de graficos y datos es excelente.

Yo estoy aprendiendo, no planeo nada, solo aprender.
¡Cuidate!