Nybörjare på java men har tagit åt mig uppgiften att kunna styra en bil (röd rektangel) på en väg.
Grafiken får jag att fungera samt att lyssna på tangentbordet. Men hur jag kombinerar de två går utöver mina kunskaper. Här är koden jag jobbar med:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
//import java.util.*;
class Uppg8x extends Frame
{
private Graphics g;
public Uppg8x() {
//Fönsterinställningar
setBounds(50,50, 300, 400);
setBackground(Color.blue);
myKeyListener keyHandler = new myKeyListener(this);
this.addKeyListener(keyHandler);
}
public void paint(Graphics g) {
g.setColor(Color.red);
g.drawString("100px", 100, 100);
g.setColor(Color.yellow);
g.fillOval(-10,-10,100,100);
g.drawLine(20,50,35,120);
g.drawLine(0,0,100,100);
g.drawLine(20,20,115,70);
g.setColor(Color.green);
g.fillRect(0,220,300, 180);
g.fillOval(175, 130, 70, 70);
g.setColor(Color.yellow);
g.fillRect(200,200,20, 50);
g.setColor(Color.black);
g.fillRect(50,180,120, 80);
g.setColor(Color.white);
g.fillRect(80,220,10, 10);
g.fillRect(140,220,10, 10);
g.setColor(Color.black);
g.fillRect(0,280,300,100);
for (int i = 0;i < 100;i = i + 20)
ritaBil(g, i, 0);
}
public void ritaBil(Graphics g, int x, int y){
g.setColor(Color.red);
g.fillRect(200-x,300-y, 50, 30);
}
public void rita(){
paint(g);
}
//public void ritaBil(){
// System.out.println("hej");
//}
public static void main (String[] args)throws IOException
{
Uppg8x frame = new Uppg8x();
frame.setBounds(50,50, 300, 400);
frame.setVisible(true);
}
}
class myKeyListener extends KeyAdapter{
Uppg8x thisObject;
myKeyListener(Uppg8x thisObjectIn){//constructor
thisObject = thisObjectIn;
}//end constructor
public void keyPressed(KeyEvent e){
System.out.println("Tangent: " +e.getKeyChar());
thisObject.rita();
}
}