“Fichier non trouvé” lors de l'exécution d'un nouveau projet LibGDX
Que j'essaie d'apprendre LibGDX, j'ai installer tous les logiciels répertoriés ici avec une nouvelle Eclipse 4.3 frais formaté mac OS X Maverick.
Tout se passe en douceur, après un redémarrage, j'ai télécharger et exécuter l'gdx-setup.jar remplir le formulaire, et de les importer dans Eclipse.
Pas d'erreur, pas d'avertissement, lorsque j'essaie d'exécuter le bureau. (Clic droit sur le bureau de projet, Exécuter en tant Qu' -> Application Java).
J'ai eu cette erreur
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: badlogic.jpg
at com.badlogic.gdx.graphics.Pixmap.<init>(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.<init>(Texture.java:121)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:100)
at com.badlogic.gdx.graphics.Texture.<init>(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.<init>(Pixmap.java:137)
J'ai trouvé beaucoup de problème similaire ici, j'ai tout essayer sans aucun bon résultat... la nuit Dernière, j'ai trouvé cette, très cool, j'ai la dernière version de Java 1.8, un mac, et Eclipse parfaitement...
Mais sans succès, j'ai essayer avec Java 1.6 et 1.7, Toujours la même erreur (Aucun fichier trouvé, j'ai gardé Java 1.7)
Je commence à faire quelques debug, voici ma seule modification de l'original du code 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();
String pathLocal = Gdx.files.getLocalStoragePath();
String 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 est pathLocal est égal à "". Est-il normal pour Gdx.les fichiers.getLocalStoragePath() pour renvoyer rien (chaîne vide)?
Également la
imgExternal = new Texture(Gdx.files.external("/Desktop/badlogic.jpg"));
Fonctionne très bien. seul le local donne l'erreur, aussi isLocal, et isExternal return true.
Et j'ai essayer un tas 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 mis dans plusieurs endroits pour être sûr.
Et maintenant, la raison pour laquelle je suis ici pour de l'aide est je viens de les essayer tous de la même étape sur un PC et tout fonctionne très bien.
Quel est le problème avec mon nouveau mac et de ses environs?
- C'est bizarre... avez-vous rafraîchir la android-projet dans Eclipse après l'ajout de l'actif? Parce que ce qui m'arrive souvent quand j'ajoute un nouvel élément à l'actif dans le dossier android-projet et de l'oublier pour actualiser le projet android dans Eclipse, il me donnera un message d'erreur indiquant que l'image n'est pas là...
Vous devez vous connecter pour publier un commentaire.
De libgdx wiki
Lorsque vous exécutez le Projet de Bureau
lien de votre projet de bureau pour android actifs dossier?
Aller à Exécuter => Exécuter les Configurations.. => choisissez DesktopLauncher, les Arguments Tab => Répertoire de Travail => d'Autres, puis accédez à votreprojet-android/assets/et cliquez sur Appliquer => Exécuter
Pour ceux d'entre nous à l'aide de Android Studio ou IntelliJ IDEA, vous devez suivre ces étapes:
Sélectionnez Exécuter -> Modifier les Configurations du menu
Dans le "Répertoire de Travail: zone de texte", ajouter "/android/actifs" sur le chemin.
Notez que si vous exécutez des tâches avec gradle, ce n'est pas un problème. Le gradle.créer des fichiers sont configurés pour utiliser le dossier des actifs, à partir de l'android module.
Noter que les réponses précédentes ne fonctionne pas pour les utilisateurs qui décoché la case "Android" la boîte sur le programme d'installation. Il faut vraiment être un défaut du dossier des actifs installé pour ceux qui ne se soucient pas de déploiement pour Android.
Pour ceux qui utilisent Intellij IDEA:
C'est comment vous fixer correctement sans jouer avec le répertoire de travail:
Le problème est que l'actif dossier n'est pas correctement marqués comme
resources
répertoire pour le build gradle. Pour corriger cela, vous devez ajouter la ligne suivante dans le./core/build.gradle
fichier de build:Mon fichier après une nouvelle installation, avec la récente libGDX version ressemble à ceci:
- Je utiliser une autre solution.
Au lieu de créer une application de configuration, créer une configuration de build Gradle. La tâche est
desktop:run
. Une fois qu'il est exécuté, le jeu (doit) lancement et de rester en vie sans s'écraser, et les ressources doivent être trouvées.Je ne suis pas sûr de savoir exactement pourquoi, mais quand un Gradle tâche est exécutée comme cela, les ressources sont trouvés. Lors de l'exécution de l'application de configuration est utilisé (sans modification comme actuellement accepté de répondre) il se bloque car il ne peut pas trouver les ressources.
Je n'ai pas de projet Android. Ma solution est d'ajouter le fichier actif à la Java Build Path->les Bibliothèques en tant que Dossier de la Classe. En outre, vérifiez le fichier actif en Java Build Path->de l'Ordre et de l'Exportation de l'inclure dans d'autres projets.
Vous pouvez vérifier le chemin d'accès de l'Actif dans le Répertoire de travail ou des ressources liées .Après avoir fait vérifier le fichier que vous chargez .Enfin nettoyer et rafraîchir le projet et d'en profiter.
J'ai eu le même problème à l'Ide, et je n'avait pas généré le libgdx projet pour Android (Android option n'a pas été marqué comme cochée) et j'ai été encore obtenir la même erreur. Au lieu de lier le répertoire "/android/assets/", lié à "/base/actifs" et il a bien fonctionné pour moi.