Ich bin noch ein Anfänger in Java und habe ein kleines Problem. ich will ein Super Mario Spiel (natürlich nicht das Echte) programmieren und habe ein Code geschrieben, dann wenn ich aber auf den run-button klicke (bei NetBeans) und das Applet startet kommen nur Zahlen in Millionenhöhe dabei heraus. An was könnte das liegen?
Hier der Code:
[/code]
Hier der Code:
Code:
public class supermario extends JApplet implements KeyListener, Runnable {
private int laenge=80, breite=50, xPos=20,yPos=480-laenge-breite;
Image status0;
private Image dbImage;
private Graphics dbg;
private boolean moveR = false, moveL = false;
private int l=0,r=0;
private long delta=System.nanoTime();
@Override
public void init() {
setSize(640,480);
status0=getImage(getCodeBase(),"background.jpg");
this.addKeyListener(this);
}
@Override
public void start() {
Thread th=new Thread(this);
th.start();
}
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_A)
{
l=5;
e.consume();
}
{
r=5;
e.consume();
}
if(e.getKeyCode()==KeyEvent.VK_D)
{
moveR = true;
r = 5;
}
{
moveL = true;
l = 5;
}
}
public void keyReleased(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_D)
{
moveR = false;
}
}
public void run() {
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
while(true)
{
try
{
if(1>0)
{
xPos-=l*(delta/1e9);
if (!moveL) l--;
}
else if(r>0)
{
xPos+=r*(delta/1e9);
if (!moveR) r--;
}
Thread.sleep(20);
repaint();
}
catch(InterruptedException ex)
{
//nothing
}
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}
@Override
public void paint(Graphics g) {
zeichneHeld(g,xPos,yPos,0);
g.drawString(""+delta,20,20);
}
public void zeichneHeld(Graphics g,int x, int y,int status)
{
g.drawImage(status0, x, y, this);
}
@Override
public void update(Graphics g)
{
dbImage = createImage (this.getSize().width, this.getSize().height);
dbg=dbImage.getGraphics();
dbg.setColor(getBackground());
dbg.fillRect(0,0,this.getSize().width,this.getSize().height);
dbg.setColor(getForeground());
paint(dbg);
g.drawImage(dbImage, 0, 0, this);
}
}