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:
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;
private robot Maquina;
private Image image,jugador
; 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();
}
@Override
public void start() {
Maquina = new robot();
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 {
e.printStackTrace();
}
}
}
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);
}
g.drawImage(jugador,Maquina.getPosX(),300,this);
}
@Override
switch (e.getKeyCode()) {
System.
out.
println("Move up"); break;
System.
out.
println("Move down"); break;
Maquina.moveLeft();
break;
Maquina.moveRight();
break;
break;
}
}
switch (e.getKeyCode()) {
System.
out.
println("Stop moving up"); break;
System.
out.
println("Stop moving down"); break;
System.
out.
println("Stop moving left"); break;
System.
out.
println("Stop moving right"); break;
System.
out.
println("Stop jumping"); break;
}
}
@Override
// TODO
}
}
Clase 2:
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
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