亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

World Loader 不會將 world1.txt 作為字符串加載

World Loader 不會將 world1.txt 作為字符串加載

心有法竹 2022-10-12 09:51:14
我的 Java 游戲有問題。當我想導出它時,它不會加載世界。我會得到一個“線程 - 0”異常。這是我的功能:    private void loadWorld(String path){    String file = World.class.getResourceAsStream(path).toString();    file.toString();    String[] tokens = file.split("\\s+");    width = Utils.parseInt(tokens[0]);    height = Utils.parseInt(tokens[1]);    spawnX = Utils.parseInt(tokens[2]);    spawnY = Utils.parseInt(tokens[3]);    tiles = new int[width][height];    for(int y = 0;y < height;y++){        for(int x = 0;x < width;x++){            tiles[x][y] = Utils.parseInt(tokens[(x + y * width) + 4]);        }    }}它需要作為字符串加載,因為我需要將其中的每個字符串拆分為一個數組。管理這個的正確方法是什么?編輯: 這是堆棧跟蹤:C:\Users\User>java -jar C:\Users\User\Desktop\Game.jarException in thread "Thread-0" java.lang.NullPointerException    at dev.codenmore.tilegame.worlds.World.loadWorld(World.java:76)    at dev.codenmore.tilegame.worlds.World.<init>(World.java:36)    at dev.codenmore.tilegame.states.GameState.<init>(GameState.java:14)    at dev.codenmore.tilegame.Game.init(Game.java:61)    at dev.codenmore.tilegame.Game.run(Game.java:94)    at java.lang.Thread.run(Unknown Source)
查看完整描述

2 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

我做的!我使用以下代碼讀取文件: InputStream stream = World.class.getResourceAsStream("/worlds/world1.txt"); 也許它是越野車,但至少它有效!



查看完整回答
反對 回復 2022-10-12
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

總是從我朋友的調試器開始。我會彈出調試器來查看這里放置了什么路徑 World.class.getResourceAsStream(path)

空指針異常會告訴您您正在向函數傳遞一個它無法處理的空值。在調用堆棧的下方,您有

at dev.codenmore.tilegame.worlds.World.loadWorld(World.java:76)

它基本上告訴你你的 nullpointerexception 發生在哪里。您的錯誤堆棧跟蹤是問題所在的一個死板。

祝你的項目好運


查看完整回答
反對 回復 2022-10-12
  • 2 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號