J'utilise libgdx pour travailler sur un jeu mais je viens juste de le voir comment l'implémenter pour différentes tailles d'écran? J'ai trouvé comment positionner des images pour différentes tailles et résolutions mais comment faire pour que les sprites supportent différentes tailles d'écran? Mon background sur 320x480 va bien mais prend une toute petite place sur 480 par 800, comment y parvenir que ça marche sur tous les écrans?Sprites de jeu et prise en charge de plusieurs écrans
Répondre
Vous avez différentes options en fonction de ce que vous êtes heureux de le faire,
a. Vous pouvez utiliser un ensemble de sprites HQ réduits pour s'adapter à chacun des écrans;
dans Resize()
width = arg0;
height = arg1;
puis dans votre rendu()
batch.draw(textureRegion, -width/2, -height/2, width, height);
va dessiner un sprite sur l'écran entier (en supposant la caméra orthographiques centrée à 0,0)
b. Vous pouvez utiliser différents ensembles de sprites pour différentes résolutions, puis charger des sprites en fonction des dimensions de la fenêtre.
Jetez un oeil à ce lien: How to deal with different aspect ratios in libGDX?
Il devrait répondre à votre problème. J'ai mis en œuvre ceci et cela fonctionne très bien pour moi.
Vous pouvez utiliser scene2d. Il vous pouvez informer la scène, que la fenêtre redimensionnée dans l'application
@Override
public void resize(int width, int height) {
stage.setViewport(width, height, true);
...
}
Diviser votre écran en unités virtuelles, par exemple la grille 10x10. Calculez vos unités virtuelles à partir de la taille réelle de l'écran.
VIRTUAL_UNIT_WIDTH = Gdx.graphics.getWidth()/10;
VIRTUAL_UNIT_HEIGHT = Gdx.graphics.getHeight()/10;
Et définir la taille de votre sprite via ces unités virtuelles et utiliser des unités virtuelles lors de l'appel de spriteBatch.draw(); Ainsi, vous pourrez conserver le même rapport d'aspect du jeu à travers différentes résolutions d'écran.
Espérons que cela vous donne une idée.
J'utilise l'approche ci-dessous et cela fonctionne pour presque toutes les tailles d'écran avec un problème mineur d'échelle mineur.
J'utilise toujours des images graphiques pour la taille de l'écran 1920.0x1080.0
ScreenViewport screenViewport=new ScreenViewport(camera);
screenViewport.setUnitsPerPixel(Math.min(1920.0f/Gdx.graphics.getWidth(),1080.0f/Gdx.graphics.getHeight()));
stage = new Stage(screenViewport);
@Override
public void resize (int width, int height) {
ScreenViewport screenViewport= (ScreenViewport) stage.getViewport();
screenViewport.setUnitsPerPixel(Math.min(1920.0f/width,1080.0f/height));
screenViewport.update(width,height,false);
}
Ici vous pouvez définir votre approche de Math.min() ou Math.max().
Il se traduira par la taille de votre appareil photo vue port près de 1920,0 * 1080,0
Device screen-size Math.max() Math.max()
800.0x480.0 1800.0x1080.0 1920.0x1152.0
1920.0x1080.0 1920.0x1080.0 1920.0x1080.0
2048.0x1440.0 1536.0x1080.0 1920.0x1350.0
Note: Utilisez toujours camera.viewportWidth et camera.viewportHeight pour les postes fixes des jeux écrans de l'interface utilisateur.
- 1. AndEngine - Prise en charge de plusieurs écrans
- 2. Prise en charge de plusieurs écrans
- 3. Prise en charge de plusieurs écrans (téléphone et tablette)
- 4. Problème de prise en charge de plusieurs écrans Android
- 5. Problème de prise en charge de plusieurs écrans dans Android?
- 6. Prise en charge de plusieurs écrans dans Android?
- 7. Prise en charge de plusieurs écrans Android Normal
- 8. Android Prise en charge de plusieurs écrans ne fonctionnant pas
- 9. Prise en charge de plusieurs écrans pour Android TV
- 10. Prise en charge de plusieurs écrans pour mon application?
- 11. Prise en charge de plusieurs écrans dans android
- 12. Prise en charge de plusieurs écrans sur Android
- 13. Prise en charge de plusieurs écrans - utilisation de <écrans compatibles>
- 14. Prise en charge des appareils/écrans Android
- 15. Android - Prise en charge de plusieurs écrans et marges de mise en page
- 16. prise en charge de taille de jeu
- 17. Prise en charge de plusieurs écrans dans Android pour de nombreuses activités et ressources
- 18. JavaFX jeu avec plusieurs écrans
- 19. Prise en charge de plusieurs tailles d'écran dans les storyboards (écrans 3,5 et 4 pouces)
- 20. Interface utilisateur Android personnalisée et prise en charge de plusieurs écrans
- 21. Prise en charge de différentes orientations d'écran et différentes images pouvant être dessinées pour plusieurs écrans
- 22. Conversion de dp en pixels pour la prise en charge de plusieurs écrans
- 23. Prise en charge de plusieurs résolutions Android
- 24. Problème de mise en page lié à la prise en charge de plusieurs écrans
- 25. Problèmes de mise en page liés à la prise en charge de plusieurs écrans
- 26. jeu Android supportant plusieurs écrans
- 27. android comment prendre en charge plusieurs écrans
- 28. Android Prise en charge de plusieurs écrans avec des icônes de largeur fixe
- 29. Comment faire de la prise en charge de plusieurs écrans dans Android?
- 30. Prise en charge de plusieurs écrans sur Android; background image probleme