- Home /
UI elements problem
Hi there. I have a problem with ui. I have a menu composed from ui elements. I built and run that app on my Samsung Galaxy S3. Everything went normal, but when i tryied the same app on another smartphone(with another resolution), the ui elements went outside of the screen( or at least change their position). I want ya'll to know that i've already looked through similar question, but nothing helped me out. I have the following code:
void OnGUI()
{
float rx = Screen.width / 1080.0f;
float ry = Screen.height / 1920.0f;
Matrix4x4.TRS(new Vector3(0,0,0),Quaternion.identity,new Vector3(rx,ry,1));
GUI.skin = GameSkin;
if (GUI.Button (ResizeGUI (GenerateRect), "GENERATE"))
GenerateNumbers ();
}
Rect ResizeGUI(Rect _rect)
{
float FilScreenWidth = _rect.width / 1080;
float rectWidth = FilScreenWidth * Screen.width;
float FilScreenHeight = _rect.height / 1920;
float rectHeight = FilScreenHeight * Screen.height;
float rectX = (_rect.x / 1080) * Screen.width;
float rectY = (_rect.y / 1920) * Screen.height;
return new Rect(rectX,rectY,rectWidth,rectHeight);
}
P.S. Sorry for bad english
You use a variable named 'GenerateRect' as a parameter for calculating your position and size. What is its value? (Where do you set it?)
Your answer
Follow this Question
Related Questions
Is the new UI system still not recommended for mobile? (Unity 5) 1 Answer
How do I make a "move pad" on the screen? (Mobile) 1 Answer
UI elements change position 0 Answers
GUI box problem? 0 Answers
Version 5: OnGui() over UI Objects, and vice versa 0 Answers