-
Game beginnings
I cannot get the rectangle to move right or left using the KeyListener. Can you help me ? Here's the code. I don't really get the paint function, it's kinda strange.
Code:
package gamepackage;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.Graphics;
public class StartingClass extends Applet implements Runnable,KeyListener {
public int x=0,y=200;
private Graphics second;
@Override
public void destroy() {
}
@Override
public void init() {
setSize(800,480);
setBackground(Color.BLACK);
setFocusable(true);
Frame frame = (Frame) this.getParent().getParent();
frame.setTitle("Java Game");
addKeyListener(this);
}
@Override
public void start() {
Thread thread1 = new Thread(this);
thread1.start();
}
@Override
public void stop() {
}
@Override
public void run() {
while (true)
{
repaint();
try {
Thread.sleep(17);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
public void keyPressed(KeyEvent e) {
switch(e.getKeyCode())
{
case KeyEvent.VK_W:
System.out.println("up");
break;
case KeyEvent.VK_S:
System.out.println("down");
break;
case KeyEvent.VK_A:
x-=5;
System.out.println(x);
break;
case KeyEvent.VK_D:
x+=5;
System.out.println(x);
break;
case KeyEvent.VK_ESCAPE:
break;
}
}
@Override
public void keyReleased(KeyEvent e) {
switch(e.getKeyCode())
{
case KeyEvent.VK_W:
System.out.println("stopup");
break;
case KeyEvent.VK_S:
System.out.println("stopdown");
break;
case KeyEvent.VK_A:
System.out.println("stopleft");
break;
case KeyEvent.VK_D:
System.out.println("stopright");
break;
}
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void paint(Graphics second) {
second.setColor(Color.WHITE);
second.fillRect(x, y, 50, 50);
System.out.println("drawing");
}
@Override
public void update(Graphics g) {
}
}