[OK] Positionnement défectueux suivant taille de la fenêtre

EDIT : solution : utiliser “(CameraWidth(”",0)/2)-(objet.Width()/2)" plutôt que “(SceneWindowWidth()/2)-(objet.Width()/2)”.

Salut à tous,
je poste ici parce que je ne suis pas certain que le problème vienne de Game Develop ou de moi (je penche plus pour GD :stuck_out_tongue:)

Le projet sur lequel je travail est réalisé en 1920x1080 pixels. Le jeu se lance en plein écran et l’affichage est adapté automatiquement suivant les résolutions d’écrans.

Tout fonctionne bien sauf une chose très gênante.
Pour centrer un objet horizontalement j’utilise cette formule : “(SceneWindowWidth()/2)-(objet.Width()/2)”. Cela fonctionne très bien sur mon écran 27 pouces 1920x1080, mais l’objet est vraiment mal positionné sur toutes les résolutions inférieures (1366x768, etc…). “(ScreenWidth()/2)-(objet.Width()/2)” produit le même résultat. Ce positionnement à lieu au lancement de la scène.
Je remarque que c’est la même galère pour centrer verticalement.

Merci d’avance pour votre aide :slight_smile:

Et tu redimensionne après ou avant ? :slight_smile:

J’ai une scène qui met le jeu en plein écran, puis la scène où à lieu le positionnement est appelée. Ça fait donc : plein écran et donc ajustement automatique de la taille de la fenêtre, puis positionnement.

Tu m’a oublié 4ian ? :slight_smile:

Désolé :slight_smile:
Est ce que tu a mis “oui” au paramètre “Utiliser cette taille pour la taille par défaut des nouvelles caméras” ?
Si tu as mis non, c’est pour que l’image soit etirée ( ou réduite ) à la taille de la fenêtre. Mais dans ce cas, la largeur de la fenêtre et la largeur de la zone affichée par la caméra ne correspondent plus, d’où peut être le souci. Dans ce cas, remplace :

(SceneWindowWidth()/2)-(objet.Width()/2)

par

(CameraWidth("", 0)/2)-(objet.Width()/2)

( En supposant que la caméra qui est affiche l’écran de jeu sur toute la fenêtre est la caméra n°0, ce qui est pratiquement toujours le cas. )
( La largeur d’une caméra correspond à la largeur de la zone filmée. Par défaut c’est égal à la largeur de la fenêtre, mais ça peut être modifié, notamment si on redimensionne la fenêtre en mettant “non” en deuxième paramètre. )

Le soucis c’est que je n’ai pas d’action “taille de la fenêtre”, c’est juste un plein écran effectué au début de la toute première scène, donc je ne peux pas régler si oui ou non cette taille doit être utilisée pour la taille par défaut des nouvelles caméras.

De plus quand j’affiche la valeur de la largeur de la fenêtre au début de la scène où le positionnement a lieu (mais AVANT le positionnement), et sur différentes résolutions, cette valeur est correcte. (1920, 1366, 1024, etc…)

Bizarre alors que le positonnement ne soit pas correct !

J’ai édité mon post précédent, peux tu le relire et essayer de remplacer SceneWindowWidth par CameraWidth ?

Ça fonctionne nikel, merci beaucoup :smiley:
J’édite mon premier post :wink: