AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Gérer un affichage multi résolutions

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Mystigris
Utilisateur confirmé: Rang *
avatar

Messages : 196

MessageSujet: Gérer un affichage multi résolutions   Sam 2 Juil 2016 - 10:07

Salut à tous,

Ca fait un bail que je n'avais plus posté sur le forum. Smile

J'ai un soucis sur mon jeu actuel, j'ai mis en place une option pour modifier la résolution d'écran et l'affichage en mode fenetré/plein écran.
Jusque là tout va bien.

Voilà une partie du script d'initialisation:

Citation :
view_wview=round(w)
view_hview=round(h)
view_wport=view_wview
view_hport=view_hview
surface_resize(application_surface,view_wview,view_hview)
window_set_size(view_wview,view_hview)
ini_close();

if (f=0)
{window_set_fullscreen(false)}
if (f=1)
{window_set_fullscreen(true)}


display_set_gui_size(view_wview,view_hview)
display_set_gui_maximise(1,1,0,0)

J'aimerais que mes boutons, textes etc gardent la même taille quelle que soit la résolution choisie, ça j'y suis arrivé avec la dernière ligne du code.
Le soucis c'est qu'en mode plein écran les bandes noires de certaines résolutions m'empoisonnent la vie, elles décalent l'affichage que j'utilisais à base de "view_xview+view_wview/x" car le point de départ de la view est dans la bande noire.

J'ai résolu le soucis en utilisant "window_get_width()/x" et "window_get_height()/y" dans mon event draw_gui
Exemple : "draw_text(window_get_width()/2.85,window_get_height()/2.64,string(name_p1)"

Ca fonctionne nickel, mais avec un écran qui n'a pas la même taille/résolution ce système sera inadapté.

Vous auriez une solution pour un affichage qui s'adapte aux différentes résolutions d'écran ?

Merci. Smile
Revenir en haut Aller en bas
Mystigris
Utilisateur confirmé: Rang *
avatar

Messages : 196

MessageSujet: Re: Gérer un affichage multi résolutions   Sam 2 Juil 2016 - 12:56

J'ai peut être trouvé la solution, je vais faire quelques tests mais j'ai trouvé le moyen de calculer la largeur des bandes noires et donc la possibilité d'en tenir compte pour définir des positions pour mes textes et images en valeur absolue.

Dans l'aide de game maker j'ai trouvé ce code:

var a = application_get_position();
xx = a[0];
yy = a[1];
ww = a[2] - a[0];
hh = a[3] - a[1];

Il permet d'obtenir la taille de la surface utilisée après application du mode fullscreen et keep aspect ratio. (donc bandes noires déduites)
Il suffit donc de faire :

bande_x=(window_get_width()-ww)/2

Puis on peut utiliser display_set_gui_maximise(1,1,bande_x,0) pour la déduire et ne plus en tenir compte en mode plein écran. Smile
Revenir en haut Aller en bas
 
Gérer un affichage multi résolutions
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comparatif photos Britax Multi-Tech - Two way Plus
» affichage Français / Normand dans les boutiques...
» des solutions au dela de nos frontières
» L'affichage bilingue à l'entrée des villes bientôt illégal ?
» Pb d'affichage des albums photo dans la chronique familiale H11

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: