AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-50%
Le deal à ne pas rater :
-50% Baskets Nike Dunk Low
64.99 € 129.99 €
Voir le deal

 

 Gérer un affichage multi résolutions

Aller en bas 
AuteurMessage
Mystigris
Utilisateur confirmé: Rang *
Mystigris


Messages : 196

Gérer un affichage multi résolutions Empty
MessageSujet: Gérer un affichage multi résolutions   Gérer un affichage multi résolutions EmptySam 2 Juil 2016 - 12: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 *
Mystigris


Messages : 196

Gérer un affichage multi résolutions Empty
MessageSujet: Re: Gérer un affichage multi résolutions   Gérer un affichage multi résolutions EmptySam 2 Juil 2016 - 14: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
Revenir en haut 
Page 1 sur 1

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: