Spelskapning, använda bild som bakrund?

Permalänk

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?

Visa signatur

Jaaa men just precis.

Permalänk
Medlem

Ta bort sista "/" i ImageIcon ai = new ImageIcon("D:/Users/Benis/Documents/workspace/Game/src/mark.gif/"); till att börja med.

Permalänk
Skrivet av iXam:

Ta bort sista "/" i ImageIcon ai = new ImageIcon("D:/Users/Benis/Documents/workspace/Game/src/mark.gif/"); till att börja med.

Testat det, samma resultat..

Visa signatur

Jaaa men just precis.

Permalänk
Medlem

Jo, men eftersom det är helt uppåtväggarna fel, ska den vara borta permanent.

Sen så måste programmet ha rättighet att läsa från den mappen och den filen, har den det?

Steppa igenom koden och kolla så att filen faktiskt laddas - Du kan även göra det med en file_exist vad den nu heter i Java.