J'ai une réponse étrange avec getProperties().get("value")
.Libgdx getProperties(). Get ("valeur") me donner une réponse étrange
Vous pouvez voir ci-dessous mes tmx file
et les valeurs fournies par mon programme.
<objectgroup name="objects"> <object id="1" name="player" type="player" x="256" y="3072" width="1290" height="1290"> <properties>
<property name="name" value="Ahhhh"/>
<property name="nom" value="Bhhhh"/>
<property name="velocity" value="1.0"/> </properties> </object> </objectgroup>
code source
MapObject mapPlayer = currentMap.getLayers().get("objects").getObjects().get("player");
MapObjects mapObject = currentMap.getLayers().get("objects").getObjects();
for (Iterator<String> iter = mapPlayer.getProperties().getKeys(); iter.hasNext();)
{
System.out.println("#############"+iter.next());
}
System.out.println("**************** player name : " + mapPlayer.getProperties().get("name", String.class));
RectangleMapObject rect = (RectangleMapObject) mapObject.get("player");
float x = (float) rect.getRectangle().x;
float y = (float) rect.getRectangle().y;
float width = rect.getRectangle().width;
float height = rect.getRectangle().height;
System.out.println("**************** player coordinates X : " +x);
System.out.println("**************** player coordinates Y: "+y);
System.out.println("**************** player coordinates width : " +width);
System.out.println("**************** player coordinates height: "+height);
System.out.println("**************** player coordinates X : " +mapPlayer.getProperties().get("x", Integer.class));
System.out.println("**************** player coordinates Y: "+mapPlayer.getProperties().get("y", Integer.class));
System.out.println("**************** player velocity : "+mapPlayer.getProperties().get("velocity", Integer.class));
####### largeur ####### Nom ####### nom ### #### id vitesse ####### ####### ####### hauteur x ####### y type #######**************** nom du joueur: Ahhhh ******** coordonnées joueur ******** X: 256,0 **************** joueur coordonnées Y: 3318,0 ************** ** joueur coordonnées largeur: 1290,0 **************** joueur coordonnées hauteur: 1290,0 **************** joueur coordonnées X: 256,0 **************** joueur coordonnées Y: 3318,0 vitesse du **************** joueur: 1,0
Pourquoi Y n'a pas montré la valeur correcte?
Merci
Exactement, c'est la raison. Je ne comprenais pas car il est facile de comprendre si la largeur et la hauteur sont un multiple de carreaux (256 dans mon cas), mais si elle est une autre valeur, il peut être plus complexe. Evidemment Y est inversé. Merci. – Furby