private void ChangeDistanciaPosition() { Camera camera = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera>(); ScriptFixedRatio fixed_ratio = camera.GetComponent <ScriptFixedRatio>(); float x = Screen.width; float y = Screen.height; float percentage_of_x = camera.rect.x; float percentage_of_y = camera.rect.y; float extra_position_x = x * percentage_of_x; float extra_position_y = y * percentage_of_y; extra_position_y *= -1; Vector3 new_position = GetComponent <RectTransform>().position; new_position.x += extra_position_x; new_position.y += extra_position_y; GetComponent <RectTransform>().position = new_position; }
// Use this for initialization void Start() { Camera camera = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera>(); RectTransform rect_transform = GetComponent <RectTransform>(); ScriptFixedRatio fixed_ratio = camera.GetComponent <ScriptFixedRatio>(); float x = Screen.width; float y = Screen.height; float x_adjustment = x / (rect_transform.rect.width); float y_adjustment = y / (rect_transform.rect.height); float scaleheight = fixed_ratio.getScaleHeight(); if (scaleheight > 1.0f) { x_adjustment *= scaleheight; } if (scaleheight < 1.0f) { y_adjustment *= scaleheight; } rect_transform.localScale = new Vector3(rect_transform.localScale.x * x_adjustment, rect_transform.localScale.y * y_adjustment, rect_transform.localScale.z); }