[RESOLU] Postition des clones de prefab selon tailles d'écrans
[RESOLU] Postition des clones de prefab selon tailles d'écrans
Bonjour,
Merci d'avance pour vos futures réponses.
Voici donc mon problème que je peine à résoudre. Il s'agit de rendre responsive des clones de prefab. Pour chaque clones, je défini leurs positions X et Y avec un new Vector. Sur un grand écran les clones se placent correctement mais quand il s'agit d'une autre résolution, les clones s'espace 2 fois plus en X. J'ai essayé de jouer avec les ancres, de remplacer le Vector par les positions du prefab mais rien ne change.
Des idées ?
Merci d'avance pour vos futures réponses.
Voici donc mon problème que je peine à résoudre. Il s'agit de rendre responsive des clones de prefab. Pour chaque clones, je défini leurs positions X et Y avec un new Vector. Sur un grand écran les clones se placent correctement mais quand il s'agit d'une autre résolution, les clones s'espace 2 fois plus en X. J'ai essayé de jouer avec les ancres, de remplacer le Vector par les positions du prefab mais rien ne change.
Des idées ?
Dernière édition par MD123 le 30 Mars 2020 09:10, édité 1 fois.
Re: Postition des clones de prefab selon tailles d'écrans
Bonjour,
tout d'abord, travailles-tu en 2D ou en 3D ? (a priori 2D si tu n'as que x et y)
Tes prefabs sont de quel type ? Des objets, des canvas, autres ?
A priori si tu as des ancres, c'est plutôt dans la catégorie "UI", et donc qu'il y a un canvas parent pas loin (je crois).
Si c'est le cas, dans ton canvas tu as un component "canvas scaler", si tu mets la scale mode en "scale with screen size" ça devrait corriger le problème (et éventuellement jouer sur le paramètre "screen match mode").
tout d'abord, travailles-tu en 2D ou en 3D ? (a priori 2D si tu n'as que x et y)
Tes prefabs sont de quel type ? Des objets, des canvas, autres ?
A priori si tu as des ancres, c'est plutôt dans la catégorie "UI", et donc qu'il y a un canvas parent pas loin (je crois).
Si c'est le cas, dans ton canvas tu as un component "canvas scaler", si tu mets la scale mode en "scale with screen size" ça devrait corriger le problème (et éventuellement jouer sur le paramètre "screen match mode").
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.
Celui qui ne pose pas de question restera bête toute sa vie.
Re: Postition des clones de prefab selon tailles d'écrans
Merci de ta réponse,
Je travail en 2D, mon prefab est un objet et effectivement il y a un canvas parent. Je viens de tester ta solution est ça ne marche pas. Je travail sur deux écrans, sur le grand, les clones sont bien séparé par l'intervalle en X que j'ai mis en code. Mais sur mon écran de pc les clones sont beaucoup plus séparé et la valeur de X entre chaque clones n'as pas bougé. Étrange !!!
Je travail en 2D, mon prefab est un objet et effectivement il y a un canvas parent. Je viens de tester ta solution est ça ne marche pas. Je travail sur deux écrans, sur le grand, les clones sont bien séparé par l'intervalle en X que j'ai mis en code. Mais sur mon écran de pc les clones sont beaucoup plus séparé et la valeur de X entre chaque clones n'as pas bougé. Étrange !!!
Re: Postition des clones de prefab selon tailles d'écrans
Je me permet de relancer si d'autres ont des idées.
Merci d'avance
Merci d'avance
- boubouk50
- ModoGenereux
- Messages : 6214
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Postition des clones de prefab selon tailles d'écrans
Poste ton code, déjà ça nous permettrait de savoir ce que tu fais.
Ensuite, je suppose que la position est dépendante de la résolution, donc l'intervalle aussi. Mais il me faut connaître ton code et la configuration de ton Canvas.
Ensuite, je suppose que la position est dépendante de la résolution, donc l'intervalle aussi. Mais il me faut connaître ton code et la configuration de ton Canvas.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Postition des clones de prefab selon tailles d'écrans
Alors je n'ai jamais expérimenté le 2D mais au vu de ton problème, la position que tu assigne via un Vector2 est elle comprise entre 0 et 1 pour x et y?
Il me semble que pour afficher à l'écran, comme les GUI par exemple, cela se passe en pixel et non en ratio.
en gros si tu affiche un élément en (500,500) sur un écran de 1000x1000 de résolution, ton élément sera au milieu, par contre si tu assigne toujours a (500,500) sur un écran de 500x500 de résolution, ton élément sera deux fois plus loin de l'origine, donc dans le coin inférieur droit.
par contre si tu assigne bien en ration donc valeur entre 0 et 1, là je ne voit pas et m'excuse d'avoir dérangé en passant. ^^
Il me semble que pour afficher à l'écran, comme les GUI par exemple, cela se passe en pixel et non en ratio.
en gros si tu affiche un élément en (500,500) sur un écran de 1000x1000 de résolution, ton élément sera au milieu, par contre si tu assigne toujours a (500,500) sur un écran de 500x500 de résolution, ton élément sera deux fois plus loin de l'origine, donc dans le coin inférieur droit.
par contre si tu assigne bien en ration donc valeur entre 0 et 1, là je ne voit pas et m'excuse d'avoir dérangé en passant. ^^
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
Re: Postition des clones de prefab selon tailles d'écrans
Voici mon code :
Du coup pour les valeurs du X et Y de mon Vector2 c'est bien en pixel.
Merci encore pour vos réponses !
Code : Tout sélectionner
public void DisplayClones()
{
prefab.gameObject.SetActive(true);
Transform store;
for (int i = 0; i < storeFile.store_config.Length; i++)
{
x = i % 3 * 475 + prefab.position.x;
y = i / 3 * -280 + prefab.position.y;
store = Instantiate(prefab, new Vector2(x, y), Quaternion.identity, parent);
store.GetChild(0).GetComponent<TextMeshProUGUI>().text = i.ToString();
store.GetChild(1).GetComponent<TextMeshProUGUI>().text = stores[i];
listStores.Add(store);
}
prefab.gameObject.SetActive(false);
}
Merci encore pour vos réponses !
Re: Postition des clones de prefab selon tailles d'écrans
Et voici la configuration de mon canvas :
- Pièces jointes
-
- 2020-03-16_12h02_06.png (33.82 Kio) Consulté 4220 fois
Re: Postition des clones de prefab selon tailles d'écrans
Normal que tu n'aies pas de Render Camera assignée ?
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.
Celui qui ne pose pas de question restera bête toute sa vie.
Re: Postition des clones de prefab selon tailles d'écrans
Je n'ai aucunes idées mais je ne pense pas que ce soit à l'origine de mon problème
Dernière édition par MD123 le 28 Mars 2020 20:16, édité 1 fois.