/*
* TheApplet.java
*
* Created on April 30, 2007, 7:26 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
//package javaapplication4;
import java.awt.*;
import java.applet.*;
/**
*
* @author Administrator
*/
public class TheApplet extends Applet implements Runnable {
int appletWidth = 600;
int appletHeight = 400;
private Image dbImage;
private Graphics dbg;
private Bala bala;
Thread th;
/** Creates a new instance of TheApplet */
public TheApplet() {
}
public void init() {
setBackground(Color.BLACK);
bala = new Bala();
}
public void start() {
th = new Thread (this);
th.start ();
}
public void stop() {
th.stop();
}
public void destroy() {/*TODO*/}
public void paint (Graphics g) {
bala.DibujaBala(g);
}
public void run() {
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
while (true) {
bala.mueve();
repaint();
try {
Thread.sleep(15);
}
catch (InterruptedException ex) {
//HACE NADA
}
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}
/* Para la técnica llamada "Double buffering"
* y evitar que el applet parpadee. */
public void update (Graphics g) {
//inicializar buffer
if (dbImage==null) {
dbImage = createImage(this.getSize().width,this.getSize().height);
dbg = dbImage.getGraphics();
}
//limpiar la pantalla en el fondo
dbg.setColor(getBackground());
dbg.fillRect(0,0,this.getSize().width,this.getSize().height);
//dibujar elementos en el fondo
dbg.setColor(getForeground());
paint(dbg);
//dibujar imágen en la pantalla
g.drawImage(dbImage,0,0,this);
}
}