Hi!
Im new to Java game development and dont know where to start...

So that's what i've done already:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| import java.awt.*; import java.awt.event.*;
public class MainPanel extends Panel implements KeyListener { private MyCanvas bier; private double xs, ys, x, y;
public MainPanel() { setLayout(null);
bier = new MyCanvas("bier.jpg"); bier.setBounds(20, 20, 100, 100); add(bier); x = bier.getX(); y = bier.getY();
Thread t = new Thread(new Runnable() { public void run() { while (true) { try { Thread.sleep(1000 / 60); } catch (InterruptedException e) { e.printStackTrace(); } x += xs; y += ys; bier.setLocation((int) x, (int) y); } } }); t.start();
}
public void keyTyped(KeyEvent ev) { }
public void keyPressed(KeyEvent ev) { int x = bier.getX(), y = bier.getY();
if (ev.getKeyCode() == KeyEvent.VK_DOWN) ys += 0.1; else if (ev.getKeyCode() == KeyEvent.VK_UP) ys -= 0.1; else if (ev.getKeyCode() == KeyEvent.VK_LEFT) xs -= 0.1; else if (ev.getKeyCode() == KeyEvent.VK_RIGHT) xs += 0.1; }
public void keyReleased(KeyEvent ev) { }
}
public class MyCanvas extends Canvas { Image image;
public MyCanvas(String file) { image = Toolkit.getDefaultToolkit().getImage(file); } public void paint(Graphics g) { if (image != null) { g.drawImage(image, 0, 0, this); } else System.out.print("a"); } } |
I think this is very bad coding, but i dont know how to optimize it.
The problem is that this app doesnt run on every computer at the same speed i think! So how can i fix that (ticks? time?)?
And how can i program a double buffer or hardware accelerated game?
It would be very nice if u could give me some tips!

BIG THX