Hé J'ai des problèmes pour obtenir les informations d'un fichier de préférences dans libgdx. Je mets une carte avec quelques coordonnées pour que je puisse positionner certaines choses, mais quand j'obtiens la carte du fichier des préférences (qui récupère le fichier entier, pas seulement la carte que je mets) et je ne peux pas lire les coordonnées Je mets dedans.
Je peux obtenir les clés de la carte sans problème, mais quand j'essaie d'accéder à la valeur de la carte, j'obtiens une erreur d'exécution java.lang.String ne peut pas être castée. J'ai essayé différentes valeurs comme Vector2, et le flotteur [] mais je reçois la même erreurMettez et obtenez une carte à partir des préférences de Libgdx
Heres mon code:
public class SetSettings {
private Actor actor;
private Actor hit;
private Sprite sprite;
private Sprite sprite2;
private Rectangle rect;
private boolean customHit = false;
private ShapeRenderer render = new ShapeRenderer();
Array<Actor> actors = GameScreen.buttons.stage.getActors();
public SetSettings() {
setOriginal();
setCustom();
rect = new Rectangle();
}
public void setOriginal() {
learnGame.ass.settings.get().clear();
float height = Gdx.graphics.getHeight();
float width = Gdx.graphics.getWidth();
// ui settings
java.util.Map<String, Coords> map = new HashMap<String, Coords>();
map.put("hpBar", new Coords(width - (learnGame.ass.hpBar.getWidth() * 1.02f), height - (height * .076f)));
map.put("hpBase", new Coords(learnGame.ass.hpBar.getX(), learnGame.ass.hpBar.getY()));
for (Entry<String, Coords> key : map.entrySet())
System.out.println(key.getValue().x); // works fine here
}
public void setCustom() {
java.util.Map<String, ?> amap = learnGame.ass.settings.get();
for (Entry<String, ?> key : amap.entrySet()) {
if (key.getValue() instanceof Coords) {
Coords coords = (Coords) key.getValue();
float x_value = coords.x;
float y_value = coords.y;
System.out.println("6" + key.getKey());
System.out.println("" + x_value);// <-----------error here -- java.lang.String cannot be cast to anything..
}
}
public class Coords {
float x;
float y;
public Coords(float x, float y) {
this.x = x;
this.y = y;
}
}
}
Pouvez-vous envoyer le message d'erreur complet exact? – m0skit0
utilisez-vous les préférences [libgdx preferences] (https://github.com/libgdx/libgdx/wiki/Preferences)? ou vous avez implémenté votre propre stockage? – harshtuna