Spelskapning, använda bild som bakrund?
Hej!
Sitter och skriver lite kod till ett spelprojekt jag håller på med. Inte kommit vidare långt hittilst men ska just nu lägga in en bild som bakrund i spelet. Arbetar i ecplise.
Detta har jag gjort :
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.color.*;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class Mark extends JFrame {
int x, y;
private Image dbImage;
private Graphics dbg;
Image face;
Font font = new Font("Arial", Font.BOLD | Font.ITALIC, 15 );
public class AL extends KeyAdapter {
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if (keyCode == e.VK_LEFT) {
if(x <= 0)
x = 0;
else
x += -5;
}
if (keyCode == e.VK_RIGHT) {
if(x >= 230)
x = 230;
else
x += +5;
}
if (keyCode == e.VK_DOWN) {
if(y >= 230)
y = 230;
else
y += +5;
}
if (keyCode == e.VK_UP) {
if(y <= 20)
y = 20;
else
y += -5;
}
}
public void keyReleased(KeyEvent e) {
}
}
public Mark() {
//load image
ImageIcon ai = new ImageIcon("D:/Users/Benis/Documents/workspace/Game/src/mark.gif/");
face = ai.getImage();
//game properties
addKeyListener(new AL());
setTitle("Mark1");
setSize(250, 250);
setResizable(false);
setVisible(true);
setBackground(Color.darkGray);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
x = 150;
y = 150;
}
public void paint(Graphics g) {
dbImage = createImage(getWidth(), getHeight());
dbg = dbImage.getGraphics();
paintComponent(dbg);
g.drawImage(dbImage, 0, 0, this);
}
public void paintComponent(Graphics g) {
g.drawImage(face, x, y, this);
g.fillOval(x, y, 15, 15);
repaint();
}
public static void main(String[] args) {
new Mark();
}
}
Men när jag kör spelet så kommer samma gråa bakgrund upp och ingen bild.
Vad kan vara fel?
Jaaa men just precis.