2014-07-16 26 views
3

我有Gradle項目和2個IDE:NetBeans和IntelliJ。 NetBeans與這個項目完美協作,沒有發現任何錯誤。 的IntelliJ但在同一項目中拋出異常:使用IntelliJ IDEA找不到文件異常

[Assets] error: com.badlogic.gdx.utils.GdxRuntimeException: File not found: ./images/enemy.atlas (Internal) 

這裏是Java類:

public class Assets {   
    public static AssetManager assetManager;   
    public Assets() { 
     assetManager = new AssetManager(); 
     try { 
      assetManager.load("./images/enemy.atlas", TextureAtlas.class); 
      assetManager.load("./images/buttons.atlas", TextureAtlas.class); 
      assetManager.load("./fonts/000.fnt", BitmapFont.class); 
      assetManager.load("./fonts/111.fnt", BitmapFont.class); 
      assetManager.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver())); 
      assetManager.load("./world/level1/map.tmx", TiledMap.class); 
      assetManager.finishLoading(); 
     } catch (GdxRuntimeException e) { if (Variables.isDebug) System.err.println("\n[Assets] error: " + e + "\n"); } 
    } 
} 

它是簡單的,對不對?所以,我已經通過* .gradle文件看,發現gradle這個知道到哪裏尋找我的資產:

project.ext.assetsDir = new File("../android/assets"); 

我已經重拍項目尤其是對IDEA(使用GDX-setup.jar),但同樣的問題就產生了。我很困惑,並要求提供建議!

P.S. AssetManager是LibGDX 1.1.0庫的一個類。

+0

您是否可以編譯並運行簡單的「Hello,World!」 'gdx-setup.jar'在添加自己的代碼之前創建的應用程序? –

+0

[運行新的LibGDX項目時出現「找不到文件」的可能的重複](http://stackoverflow.com/questions/22822767/file-not-found-when-running-new-libgdx-project) –

回答

0

我有類似的問題。經過3個小時的生氣後,我意識到路徑是區分大小寫的。 舉例瓦片地圖:

Android的資產文件結構: 資產/地圖/ Desert.tmx

//Work as desktop luncher but not on android 
TiledMap tiledMap = new TmxMapLoader().load("maps\\Desert.tmx"); 

//Works on android and dektop 
TiledMap tiledMap = new TmxMapLoader().load("Maps\\Desert.tmx"); 

,我注意到的是,路徑不應該與

./ 
../ 
.\\ 
..\\ 

//Enough 
"Maps\\Desert.tmx" 

//Too much 
".\\Maps\\Desert.tmx" 
啓動第二件事
-1

您需要告訴「桌面模塊」在「android模塊」中查找資源。我忘了執行此操作的確切步驟...

0

IDEA可能出路之一是將桌面運行配置的Working directory設置爲android/assets/文件夾。