Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

my java game made in eclipse stoped loading my assets after exporting

i exported my java game from eclipse with default settings (exept main class) and it stoped loading my assets: images, musics, sfx. anything else works fine but assets won't, i already tried placing a dot in file path string and also use java.io.file.exists(); but it says false on console while in eclipse it says true, all of the assets don't work but this is a sample of code from menu class

 package src;



import java.awt.Rectangle;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;







public class Menu {
    
    File f = new File("res/Playbutt.png");
    public Rectangle Playbutton = new Rectangle( Game.WIDTH/2-25, 60, 50, 10);
    public Rectangle Exitbutton = new Rectangle( Game.WIDTH/2-25, 80, 50, 10);
    public static String desc = null;
    private BufferedImage imagePlay;
    private BufferedImage players1;
    private BufferedImage players2;
    private BufferedImage imageExit;
    private BufferedImage IMPOSSIBLE;
    private BufferedImage Hard;
    private BufferedImage Easy;
    private BufferedImage Normal;
    private BufferedImage imageTitle;
    private BufferedImage imageResume;
    private BufferedImage imageMain;
    private BufferedImage OPTIONS;
    private BufferedImage BACK;
    public static int brightloss = 0;
    public static enum STATE{
        MAIN,
        P1P2,
        INGAME,
        DIFICULTY, 
        OPTIONS
        
    };
    public static STATE State = STATE.MAIN;
    
    public static  STATE Statepre = State;
    public static boolean dark = true;
    public static Slider slider;
    
    public static void SAVESTATE(){
        Statepre = State;
        
        
    }

    public Menu() {
        slider = new Slider(100, 100, 50, false, brightloss);
        
       try {             
           
          imagePlay = ImageIO.read(new File(".res/Playbutt.png"));
          IMPOSSIBLE = ImageIO.read(new File(".res/IMPOSSIbutt.png"));
          Hard = ImageIO.read(new File(".res/Hardbutt.png"));
          Easy = ImageIO.read(new File(".res/Easybutt.png"));
          Normal = ImageIO.read(new File(".res/Normalbutt.png"));
          players1 = ImageIO.read(new File(".res/1P.png"));
          players2 = ImageIO.read(new File(".res/2P.png"));
          imageExit = ImageIO.read(new File(".res/Exitbutt.png"));
          imageTitle = ImageIO.read(new File(".res/Title.png"));
          imageResume = ImageIO.read(new File(".res/Resumebutt.png"));
          imageMain = ImageIO.read(new File(".res/Mainbutt.png"));
          OPTIONS = ImageIO.read(new File(".res/Optbutt.png"));
          BACK = ImageIO.read(new File(".res/Backbutt.png"));
       } catch (IOException ex) {
            // handle exception...
       }
    }
    

    
    
    public void render(Graphics g) {
    System.out.println(f.exists()+"");
        g.setFont(new Font("DefaultFont", Font.PLAIN, 10));
        g.setColor(Colors.Trans_GREEN3);
        g.fillRect(0, Game.HEIGHT-10, Game.WIDTH,10);
        g.fillRect(0, Game.HEIGHT-9, Game.WIDTH,9);
        g.fillRect(0, Game.HEIGHT-8, Game.WIDTH,8);
        g.fillRect(0, Game.HEIGHT-7, Game.WIDTH,7);
        g.fillRect(0, Game.HEIGHT-6, Game.WIDTH,6);
        g.fillRect(0, Game.HEIGHT-5, Game.WIDTH,5);
        g.setColor(Colors.Trans_GREEN3);
        g.fillRect(0, 0, Game.WIDTH,10);
        g.fillRect(0, 0, Game.WIDTH,9);
        g.fillRect(0, 0, Game.WIDTH,8);
        g.fillRect(0, 0, Game.WIDTH,7);
        g.fillRect(0, 0, Game.WIDTH,6);
        g.fillRect(0, 0, Game.WIDTH,5);
        g.setColor(Colors.Trans_GREEN3);
        g.fillRect(0, 0, 10,Game.HEIGHT);
        g.fillRect(0, 0, 9,Game.HEIGHT);
        g.fillRect(0, 0, 8,Game.HEIGHT);
        g.fillRect(0, 0, 7,Game.HEIGHT);
        g.fillRect(0, 0, 6,Game.HEIGHT);
        g.fillRect(0, 0, 5,Game.HEIGHT);
        g.setColor(Colors.Trans_GREEN3);
        g.setColor(Colors.Trans_GREEN3);
        g.fillRect(Game.WIDTH-10, 0, 10,Game.HEIGHT);
        g.fillRect(Game.WIDTH-9, 0, 9,Game.HEIGHT);
        g.fillRect(Game.WIDTH-8, 0, 8,Game.HEIGHT);
        g.fillRect(Game.WIDTH-7, 0, 7,Game.HEIGHT);
        g.fillRect(Game.WIDTH-6, 0, 6,Game.HEIGHT);
        g.fillRect(Game.WIDTH-5, 0, 5,Game.HEIGHT);
        
        Graphics2D g2d = (Graphics2D) g;
        
        if(State==STATE.MAIN) {
            
                if(MouseInput.mx>=95 && MouseInput.mx<=145) { 
                     if(MouseInput.my>60&&MouseInput.my<70) {
                         g.setColor(Colors.outline);
                    g.fillRect(Game.WIDTH/2-26, 59, 54, 14);
                    
                    
                    
                    }
                     else if(MouseInput.my>80&&MouseInput.my<90) {
                         g.setColor(Colors.outline);
                         g.fillRect(Game.WIDTH/2-26, 79, 54, 14);
                         
                         }
                     else if(MouseInput.my>40&&MouseInput.my<50) {
                         g.setColor(Colors.outline);
                         g.fillRect(Game.WIDTH/2-26, 39, 54, 14);
                         desc=("");
                         g.setColor(Color.green);
                         g.drawString(desc,45 , Game.HEIGHT/2+50);
                     }
                }
         g2d.drawImage(this.OPTIONS, Game.WIDTH/2-25, 60, null);
         g2d.drawImage(this.imagePlay, Game.WIDTH/2-25, 40, null);
         g2d.drawImage(this.imageExit, Game.WIDTH/2-25, 80, null);
         g2d.drawImage(this.imageTitle, Game.WIDTH/2-50, 10, null);}
        
        else if(State==STATE.INGAME) {
            if(MouseInput.mx>=95 && MouseInput.mx<=145) {
                 if(MouseInput.my>70&&MouseInput.my<80) {
                     g.setColor(Colors.outline);
                     g.fillRect(Game.WIDTH/2-26, 69, 54, 14);
                
                }
                 else if(MouseInput.my>90&&MouseInput.my<100) {
                     g.fillRect(Game.WIDTH/2-26, 89, 54, 14);
                     }else if(MouseInput.my>50&&MouseInput.my<60) {
                         g.setColor(Colors.outline);
                         g.fillRect(Game.WIDTH/2-26, 49, 54, 14);
                         
                     }
                 
            }
            g2d.drawImage(this.imageResume, Game.WIDTH/2-25, 70, null);
            g2d.drawImage(this.imageMain, Game.WIDTH/2-25, 50, null);
            g2d.drawImage(this.imageExit, Game.WIDTH/2-25, 90, null);
             g2d.drawImage(this.imageTitle, Game.WIDTH/2-50, 10, null);}
        
        else if(State==STATE.P1P2) {
            if(MouseInput.mx>=15 && MouseInput.mx<=40) {
                 if(MouseInput.my>=106&&MouseInput.my<118) { 
                     g.setColor(Colors.outline);
                     g.fillRect(14, Game.HEIGHT-29, 28, 15);
                     desc=("");
                     g.setColor(Color.green);
                     g.drawString(desc,45 , Game.HEIGHT/2+50);
                     
                 }}
            if(MouseInput.my>30&&MouseInput.my<90) {
                 if(MouseInput.mx>=60 && MouseInput.mx<=120) {
                     g.setColor(Colors.outline);
                     g.fillRect(Game.WIDTH/2-61, 29,66, 66);    
                
                     
        }
                 if(MouseInput.mx>=130 && MouseInput.mx<=190) {
                     g.setColor(Colors.outline);
                     g.fillRect(Game.WIDTH/2+9, 29,66, 66);
                        
                     
        }}
            g2d.drawImage(this.players1, Game.WIDTH/2-60, 30, null);
            g2d.drawImage(this.players2, Game.WIDTH/2+10, 30, null);
            g2d.drawImage(this.BACK, 15, Game.HEIGHT-28, null);
        }
        else if(State==STATE.DIFICULTY) {
            if(MouseInput.mx>=15 && MouseInput.mx<=40) {
                 if(MouseInput.my>=106&&MouseInput.my<118) { 
                     g.setColor(Colors.outline);
                     g.fillRect(14, Game.HEIGHT-29, 28, 15);
                     desc=("");
                     g.setColor(Color.green);
                     g.drawString(desc,45 , Game.HEIGHT/2+50);
                     
                 }}
            if(MouseInput.mx>=95 && MouseInput.mx<=145) {
                 if(MouseInput.my>70&&MouseInput.my<80) {
                     g.setColor(Colors.outline);
                     g.fillRect(Game.WIDTH/2-26, 69, 54, 14);
                     g.setColor(Color.green);
                     desc=("for those who want challenge");
                     g.drawString(desc,50 , Game.HEIGHT/2+50);
                
                }
                 else if(MouseInput.my>90&&MouseInput.my<100) {
                     g.setColor(Colors.outline);
                     g.fillRect(Game.WIDTH/2-26, 89, 54, 14);
                     desc=("for those who want to cry");
                     g.setColor(Color.green);
                     g.drawString(desc,70 , Game.HEIGHT/2+50);
                     }else if(MouseInput.my>50&&MouseInput.my<60) {
                         g.setColor(Colors.outline);
                         g.fillRect(Game.WIDTH/2-26, 49, 54, 14);
                         desc=("for those who want to play casually");
                         g.setColor(Color.green);
                         g.drawString(desc,45 , Game.HEIGHT/2+50);
                         
                         
                     }if(Ball.pmih) {
                      if(MouseInput.my>33&&MouseInput.my<44) {
                         g.setColor(Colors.outline);
                         g.fillRect(Game.WIDTH/2-26, 32, 54, 14);
                         desc=("for those who don't really have a live");
                         g.setColor(Color.green);
                         g.drawString(desc,45 , Game.HEIGHT/2+50);
                     }}
                 
            }
            if(Ball.pmih) {
            g2d.drawImage(this.IMPOSSIBLE, Game.WIDTH/2-25, 33, null);}
            g2d.drawImage(this.Normal, Game.WIDTH/2-25, 70, null);
            g2d.drawImage(this.Easy, Game.WIDTH/2-25, 50, null);
            g2d.drawImage(this.Hard, Game.WIDTH/2-25, 90, null);
            g2d.drawImage(this.imageTitle, Game.WIDTH/2-50, 10, null);
             g2d.drawImage(this.BACK, 15, Game.HEIGHT-28, null);
            
            
                
                     
        }
        else if(State==STATE.OPTIONS) {
            if(MouseInput.mx>=15 && MouseInput.mx<=40) {
                 if(MouseInput.my>=106&&MouseInput.my<118) { 
                     g.setColor(Colors.outline);
                     g.fillRect(14, Game.HEIGHT-29, 28, 15);
                     desc=("");
                     g.setColor(Color.green);
                     g.drawString(desc,45 , Game.HEIGHT/2+50);
                     
                 }}
            
            
            
            
            slider.render(g);
             g2d.drawImage(this.imageTitle, Game.WIDTH/2-50, 10, null);
             g2d.drawImage(this.BACK, 15, Game.HEIGHT-28, null);
             
       

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...