Besoin d'un coup de pouce sur Construct 2 ? C'est par ici !
Avatar de l’utilisateur
par fatabien
#26825 Bonjour,

j'essaie de suivre le tuto sur la création d'un jeu de Memory, mais j'ai un pb d'affichage.
A la base, ma fenêtre est de 800x600 et je veux qu'elle soit de 800x600.

Mais quand je lance le jeu, elle fait 1265x949, ce qui fausse tous les calculs pour l'espacement des cartes.
J'ai fait afficher un texte de débuggage pour voir la valeur des variables. C'est bien WindowWidth et WindowHeight qui posent problème.

Quelqu'un aurait la solution svp ?
A moins qu'on puisse faire un SET WINDOW WIDTH et SET WINDOW HEIGHT au lancement, mais je n'ai pas trouvé comment faire.

Fichiers en pièce jointe.

Bonne journée.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Avatar de l’utilisateur
par fatabien
#26826 Voici en PJ un saisie d'écran.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Avatar de l’utilisateur
par Dupat
#26830 Salut , dans les propriétés du projet , a gauche , dans configuration settings , il faut que tu remplace Letterbox Scale par Letterbox integer scale .
De cette façon ton jeu s'affichera a la bonne résolution dans ton navigateur.
Avatar de l’utilisateur
par fatabien
#26836 Bonjour,
tout d'abord, j'ai modifié mon code d'affichage car mes cartes ont pour point d'origine le centre de la carte. Je suis donc passé de :
Code: Tout sélectionnergMarginLeft + (CurrentColumn*(gCardWidth + gSpaceBetweenCards))

à :
Code: Tout sélectionnergMarginLeft + (CurrentColumn*(gCardWidth + gSpaceBetweenCards)) + (Cartes.Width/2)


Puis même chose pour la hauteur.
Ca résoud bien le problème pour l'affichage en 800x600 avec l'option "Letterbox integer scale", et les cartes sont bien disposées.

Maintenant j'ai un autre problème :
j'aimerais quand même que le jeu puisse s'adapter à la taille de l'écran, et donc pouvoir laisser l'option "Letterbox scale". Mais j'ai encore un problème d'affichage. Voir pièce jointe.

D'avance merci.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Avatar de l’utilisateur
par purpleunicorn
#26837 je vais jeter un oeil, mais windowwidth et windowheight vont varier avec la taille de l'écran alors que les coordonnées vont rester "fixes" une fois l'écran mis à l'echelle (elles sont relatives, c'est plus simple).

Si on veut obtenir la taille de l'écran pour placer des objets de manière dynamique, je recommande plutot les expressions ViewportBottom(layer), ViewportTop(layer), ViewportLeft(layer), ViewportRight(layer), qui retournent les coordonnes des quatres bords de l'écran relativement au layer choisi.

j'ai remplacé les windowheight par ViewportBottom("Cartes")-ViewportTop("Cartes")
et windowwidth par ViewportRight("Cartes")-ViewportLeft("Cartes")

on peut les remplacer par 800 et 600 respectivement dans notre cas car celà ne change pas et on est en letterbox, mais ne cherchons pas midi à quatorze heures.
Avatar de l’utilisateur
par fatabien
#26838 Problème réglé, merci beaucoup.
J'ai utilisé les "Viewport...", ça fonctionne nickel.
Merci ! :-)