hi,
nochmal ne kurze frage: ich habe angefangen ein spiel zu schreiben und schon ein bild geladen. dieses lässt sich aber nicht mit der taste "D" verschieben, so wie ich es eigentlich prorammiert habe... kann mir da wer helfen bitte:
nochmal ne kurze frage: ich habe angefangen ein spiel zu schreiben und schon ein bild geladen. dieses lässt sich aber nicht mit der taste "D" verschieben, so wie ich es eigentlich prorammiert habe... kann mir da wer helfen bitte:
Java:
package de.sack.main;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class WesternPanel extends JPanel implements Runnable {
private JFrame frame;
private Thread thread;
private BackGround bg;
private int nr = 1;
public WesternPanel(int width, int height) {
setPreferredSize(new Dimension(width, height));
frame = new JFrame("WestWorld by Blagg Dogg 2012 (c)");
frame.add(this);
frame.pack();
intitialize();
frame.setVisible(true);
frame.setResizable(false);
thread = new Thread(this);
thread.start();
}
private void intitialize() {
bg = new BackGround();
addKeys();
}
public static void main(String[] args) {
new WesternPanel(1200, 480);
}
@Override
public void run() {
while (true) {
System.out.println("Thread runs");
moveGameObjects();
repaint();
try {
Thread.sleep(20);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void paintComponent(Graphics g){
super.paintComponent(g);
System.out.println("Repaint NO.: " + nr++);
bg.draw(g);
}
private void moveGameObjects() {
// TODO Auto-generated method stub
}
private void addKeys() {
this.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent arg0) {
int key = arg0.getKeyCode();
if(key == KeyEvent.VK_D){
bg.setPos(bg.getPos()-10);
}
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent arg0) {
int key = arg0.getKeyCode();
if(key == KeyEvent.VK_D){
bg.setPos(bg.getPos()-10);
}
}
});
}
}
Java:
package de.sack.main;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class BackGround extends JPanel {
private static final long serialVersionUID = 1L;
BufferedImage bg;
private int pos = 0;
public int getPos() {
return pos;
}
public void setPos(int pos) {
this.pos = pos;
}
public BackGround() {
URL picURL = getClass().getClassLoader().getResource("bg/pan_005.jpg");
try {
bg = ImageIO.read(picURL);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void draw(Graphics g) {
g.drawImage(bg, pos, 0, null);
}
}