The best way to set GUI buttons and GUITextures in fixed place relatively on screen resolution?
The problem is no matter how i try to do, but in different resolutions their place on screen changes a bit. Just cant and cant do it right… Tried setting pixelInsets in scripts using Screen.width and Screen.height, but it also didnt work as i wanted.
Help me out, plz!
Thanks in advance!
Our GUI is drawn without regard to aspect ratio. It scales based on window height alone. If I do say so myself, it looks great at any aspect ratio.
We base the entire scale on the height of the window. Every element of the GUI maintains its designed proportions and scales based on the height.
The trick for me is to remember whether I want screen-percents or pixels, and using
G.CalcSize(new GUIContent(word)); (where G is a GUIstyle) to get the pixel size of a font.
A pain, but if you just have a font you want to measure, need to make a fake GUIStyle with it:
GUIStyle G = new GUIStyle(); G.font = F;
For example, if you want right-side text with a 5% border, set the left-corner for Rect.x to
Screen.width*0.95f - G.CalcSize(new GUIContent(word)).x.