«Fichier introuvable» lors de l’exécution du nouveau projet LibGDX

J’essaie d’apprendre LibGDX, j’installe tous les logiciels listés ici avec un nouvel Eclipse 4.3 sur un nouveau Mac OS X Maverick formaté.

Tout se passe bien, après un redémarrage, je télécharge et exécute gdx-setup.jar, remplis le formulaire et importe dans Eclipse.

Aucune erreur, aucun avertissement lorsque j’essaie de faire fonctionner le bureau. (Cliquez avec le bouton droit sur le projet de bureau, Exécuter en tant que -> Application Java).

J’ai cette erreur

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: badlogic.jpg at com.badlogic.gdx.graphics.Pixmap.(Pixmap.java:140) at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64) at com.badlogic.gdx.graphics.Texture.load(Texture.java:130) at com.badlogic.gdx.graphics.Texture.(Texture.java:121) at com.badlogic.gdx.graphics.Texture.(Texture.java:100) at com.badlogic.gdx.graphics.Texture.(Texture.java:92) at com.diesel.bugs.DieselBugs.create(DieselBugs.java:21) at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136) at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114) Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: badlogic.jpg (Local) at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:134) at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:218) at com.badlogic.gdx.graphics.Pixmap.(Pixmap.java:137) 

J’ai trouvé beaucoup de problèmes similaires ici, je les essaie tous sans aucun bon résultat … Hier soir, j’ai trouvé ça très cool, j’ai le dernier Java 1.8, un mac, et Eclipse est parfaitement adapté …

Mais sans succès, j’essaye avec Java 1.6 et 1.7, toujours la même erreur (aucun fichier trouvé, j’ai gardé Java 1.7)

Je commence à faire du debug, ici ma seule modification du code original généré par l’importation.

 package com.diesel.bugs; import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; public class DieselBugs extends ApplicationAdapter { SpriteBatch batch; Texture imgExternal,imgLocal; @Override public void create () { batch = new SpriteBatch(); Ssortingng pathLocal = Gdx.files.getLocalStoragePath(); Ssortingng pathExternal = Gdx.files.getExternalStoragePath(); Boolean isExternal = Gdx.files.isExternalStorageAvailable(); Boolean isLocal = Gdx.files.isLocalStorageAvailable(); imgExternal = new Texture(Gdx.files.external("/Desktop/badlogic.jpg")); imgLocal = new Texture(Gdx.files.local("badlogic.jpg")); } @Override public void render () { Gdx.gl.glClearColor(1, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); batch.begin(); batch.draw(imgExternal, 0, 0); batch.end(); } } 

La chose étrange que pathLocal est égale à “”. Est-il normal que Gdx.files.getLocalStoragePath () ne retourne rien (chaîne vide)?

Également

 imgExternal = new Texture(Gdx.files.external("/Desktop/badlogic.jpg")); 

Fonctionne très bien. seul le local donne l’erreur, isLocal également, et isExternal renvoie true.

Et j’essaie beaucoup de combinaisons, comme /assets/data/badlogic.jpg , /assets/badlogic.jpg , /data/badlogic.jpg , data/badlogic.jpg et badlogic.jpg .

L’image badlogic.jpg est là et je l’ai mise à plusieurs endroits pour être sûr.

Et maintenant, la raison pour laquelle je suis là pour vous aider, c’est que je fais tout simplement le même pas sur un PC et que tout fonctionne bien.

Qu’est-ce qui ne va pas avec mon nouveau mac et son réglage?

    A partir du wiki libgdx

    Lorsque vous exécutez Desktop Project

    L’application échouera la première fois. Ouvrez la configuration d’exécution que vous venez de créer et définissez le répertoire de travail sur le répertoire android / assets /!

    lier votre projet de bureau au dossier android assets?

    Allez à Run => Run Configurations .. => choisissez DesktopLauncher , onglet Arguments => répertoire de travail => Others puis naviguez jusqu’à votre project-android / assets / et cliquez sur Apply => Run

    entrer la description de l'image ici

    Pour ceux d’entre nous qui utilisent Android Studio ou IntelliJ IDEA, vous devez suivre ces étapes:

    1. Sélectionnez Exécuter -> Modifier les configurations dans le menu

    2. Dans la zone de texte “Working Directory:”, ajoutez “/ android / assets” au chemin.

    Notez que si vous exécutez des tâches avec gradle, ce n’est pas un problème. Les fichiers gradle.build sont configurés pour utiliser le dossier assets du module Android.

    Notez que les réponses précédentes ne fonctionneront pas pour les utilisateurs qui ont décoché la case “Android” lors de l’installation. Un dossier par défaut doit être installé pour ceux qui ne se soucient pas du déploiement pour Android.

    Pour ceux qui utilisent Intellij IDEA:

    1. Exécuter -> Modifier les configurations
    2. À gauche, choisissez: Application -> DesktopLauncher
    3. Dans l’onglet “Configuration”, sous “Répertoire de travail”, choisissez votre chemin d’access Android / Asset

    J’utilise une solution différente.

    Au lieu de créer une configuration d’exécution d’application, créez une configuration de génération Gradle. La tâche est desktop:run . Une fois qu’il est exécuté, le jeu (devrait) se lancer et restr en vie sans planter, et les ressources doivent être trouvées.

    Je ne sais pas exactement pourquoi, mais quand une tâche Gradle est exécutée comme ça, les ressources sont trouvées. Lorsqu’une configuration d’exécution d’application est utilisée (sans modifications, comme la réponse actuellement acceptée), elle se bloque car elle ne trouve pas les ressources.

    Je n’ai pas de projet Android. Ma solution consiste à append le dossier de ressources au chemin de génération Java -> Bibliothèques en tant que dossier de classe. En outre, vérifiez le dossier des ressources dans Java Build Path-> Order and Export pour l’inclure dans d’autres projets.

    Vous pouvez vérifier le chemin des actifs dans le répertoire de travail ou les ressources liées. Après avoir vérifié, recherchez le fichier que vous chargez. En dernier lieu, nettoyez et rafraîchissez le projet et profitez-en.