2016-05-28 1 views
0

J'utilise scene2d, et je veux positionner un acteur personnalisé que j'ai créé, qui ne fait que prolonger Image et me permet de jouer des animations. J'ai des problèmes pour garder l'acteur en bas à droite de l'écran. Quand je rétrécis la fenêtre en 16: 9, l'acteur monte sur le côté (sur l'axe y) au lieu de rester en bas. L'acteur est un AnimActor (j'ai créé), qui fonctionnera comme une image. J'essaie de faire un symbole de chargement. Je redimensionne le port d'affichage correctement. Voici le code:Position Acteur Bas Droite De Viewport

stage = new Stage(viewport); 
    Animation anim = Main.loadingSymbol; 
    anim.setFrameSize(new Vector2(camera.viewportWidth/10, camera.viewportWidth/10)); 
    loadingSymbolActor = new AnimActor(anim); 
    table = new Table(new Skin()); 
    table.setBounds(0, 0, stage.getWidth(), stage.getHeight()); 
    table.add(loadingSymbolActor); 
    table.pack(); 
    table.align(Align.bottomRight); 
    stage.addActor(table); 

Répondre

0

Table s sont principalement pour la mise en page de l'interface utilisateur statique, car il est facile d'ajouter/supprimer ou déplacer des acteurs une fois qu'ils sont disposés. Il n'y a probablement pas grand-chose que je peux vous dire que le wiki libGDX n'a ​​pas, il a une très bonne explication sur Table s here.

Mais si le problème concerne le redimensionnement, assurez-vous de mettre à jour votre caméra Stage correctement dans la méthode de redimensionnement. Peut-être également modifier vos limites Table dans la méthode de redimensionnement, et définir table.setFillParent(true) après l'initialisation de votre Table. Pour corriger votre Actor en bas à droite du Table, vous pouvez essayer table.add(loadingSymbolActor).bottom().right();.