2017-09-16 2 views
0

J'essaie actuellement de placer du texte dans les quatre coins de l'écran mais la chose que j'ai rencontrée était que dans certaines résolutions d'écran (par exemple 1080 * 1920) les points d'ancrage ne sont pas dans le coin. les valeurs x pour une raison quelconque sont les mêmes, mais le y change et n'est pas proche du coin de l'écran. Voici un exemple de me placer du texte dans le coin supérieur droit:Pourquoi les points d'ancrage varient-ils dans différentes résolutions?

local myText = display.newText("RIGHT", 0, 0, native.systemFont, 16) 
     myText:setFillColor(0, 0, 0) 
     myText.anchorX = 1 
     myText.anchorY = 0 
     myText.x = display.contentWidth 
     myText.y = 0 

Je ne comprends pas pourquoi cela ne fonctionne pas pour toutes les résolutions d'écran.

Répondre

1

Est-ce que ce travail pour vous:

-- Top 
myText.y = display.screenOriginY; 

-- Bottom 
myText.y = display.contentHeight - display.screenOriginY; 

-- Right 
myText.x = display.contentWidth - display.screenOriginX; 

-- Left 
myText.x = display.screenOriginX; 
+0

Et si je voulais le placer dans le fond? Comment cela fonctionnerait-il? –

+0

@referferferferf J'ai mis à jour la réponse. –

1

points d'ancrage Tha des objets d'affichage ne change pas.

Le système de coordonnées du changement d'écran dépend du mode de mise à l'échelle. Donc, le point en haut à gauche ne sera pas toujours (0, 0). Par exemple en letterbox le point en haut à gauche du mode serait (display.screenOriginX, display.screenOriginY).

De Corona documentation

"letterbox" — scales the content area to fill the screen while preserving the same aspect ratio. The entire content area will reside on the screen, but this might result in "black bars" on devices with aspect ratios that differ from your content aspect ratio. Note, however, that you can still utilize this "blank" area and fill it with visual elements by positioning them or extending them outside the content area bounds. Essentially, "letterbox" is an ideal scale mode if you want to ensure that everything in your content area appears within the screen bounds on all devices. 

"zoomEven" — scales the content area to fill the screen while preserving the same aspect ratio. Some content may "bleed" off the screen edges on devices with aspect ratios that differ from your content aspect ratio. Basically, "zoomEven" is a good option to ensure that the entire screen is filled by the content area on all devices (and content clipping near the outer edges is acceptable). 
  • Letterbox

enter image description here

  • zoomEven

enter image description here

En savoir plus sur Content Scaling.