[Ayuda] Problemas con un juego en java

Iniciado por cibergolen, 18 Abril 2015, 19:55 PM

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

cibergolen

Buenas

Estoy comenzando con la programación de juegos en Java (Hasta llegar a Android), pero se me está resistiendo

El problema es que no me muestra el personaje, la Base me da un html, ya importé la imagen... Pero no hay forma de que aparezca el dichoso "dibujo"

He aquí el código:

Clase1:
Código (JAVA) [Seleccionar]
package juego01;

import java.applet.Applet;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.net.URL;

public class juego01 extends Applet implements Runnable, KeyListener {

private robot Maquina;
private Image image,jugador;
private Graphics second;
private URL base; //Igual debes ponerle valor... por ahora vale null
//Espera que reviso una cosa rapido¬_

    @Override
    public void init() {

        setSize(800, 480);
        setBackground(Color.green);
        setFocusable(true);
        addKeyListener(this);
        Frame frame = (Frame) this.getParent().getParent();
        frame.setTitle("Q-Bot Alpha");
        jugador = getImage(base,"Nave.png");
        base=getDocumentBase();
        System.out.println(base);
       
    }

    @Override
    public void start() {
    Maquina = new robot();
        Thread thread = new Thread(this);
        thread.start();
    }

    @Override
    public void stop() {
        // TODO Auto-generated method stub
    }

    @Override
    public void destroy() {
        // TODO Auto-generated method stub
    }

    @Override
    public void run() {
        while (true) {
        Maquina.update();
            repaint();
            try {
                Thread.sleep(17);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
   
    public void update(Graphics g){
    if(image==null){
    image = createImage(this.getWidth(),this.getHeight());
    second = image.getGraphics();
    }
   
    second.setColor(getBackground());
    second.fillRect(0, 0,getWidth(), getHeight());
    second.setColor(getForeground());
    g.drawImage(image,50,50,this);
    paint(second);
    }
   
    public void paint(Graphics g){
    g.drawImage(jugador,Maquina.getPosX(),300,this);
    }

    @Override
    public void keyPressed(KeyEvent e) {

        switch (e.getKeyCode()) {
        case KeyEvent.VK_UP:
            System.out.println("Move up");
            break;

        case KeyEvent.VK_DOWN:
            System.out.println("Move down");
            break;

        case KeyEvent.VK_LEFT:
            Maquina.moveLeft();
            break;

        case KeyEvent.VK_RIGHT:
            Maquina.moveRight();
            break;

        case KeyEvent.VK_SPACE:
            System.out.println("Jump");
            break;

        }

    }

    public void keyReleased(KeyEvent e) {
        switch (e.getKeyCode()) {
        case KeyEvent.VK_UP:
            System.out.println("Stop moving up");
            break;

        case KeyEvent.VK_DOWN:
            System.out.println("Stop moving down");
            break;

        case KeyEvent.VK_LEFT:
            System.out.println("Stop moving left");
            break;

        case KeyEvent.VK_RIGHT:
            System.out.println("Stop moving right");
            break;

        case KeyEvent.VK_SPACE:
            System.out.println("Stop jumping");
            break;

        }

    }

    @Override
    public void keyTyped(KeyEvent e) {
        // TODO

    }

}


Clase 2:
Código (JAVA) [Seleccionar]
package juego01;

public class robot {

private int maxX = 640;
private int posX = 0;

public void update(){
if(posX >=maxX){
posX = maxX;
}
if(posX <=0){
posX = 0;
}
}

public void moveRight(){
posX += 6;
}

public void moveLeft(){
posX -= 6;
}

public int getPosX(){
return posX;
}

public void setPosX(int posX){
this.posX=posX;
}
}


Un saludo, y gracias

Maurice_Lupin

#1
Hola, no programo en android, pero si un applet, podria ser que no esta cargada la imagen, en el paint prueba pintar un texto en las coordenadas de tu personaje y asi verificas si esta cargada la imagen. Algunas veces he tenido lios por la ruta.

Saludos
Un error se comete al equivocarse.