GuiRatioFixer

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
m (Text replace - "<boo>" to "<syntaxhighlight lang="boo">")
m (Text replace - "</boo>" to "</syntaxhighlight>")
 
Line 49: Line 49:
 
         currentRatio = (Screen.width+0.0) / Screen.height
 
         currentRatio = (Screen.width+0.0) / Screen.height
 
         transform.localScale.x *= m_NativeRatio / currentRatioe
 
         transform.localScale.x *= m_NativeRatio / currentRatioe
</boo>
+
</syntaxhighlight>
  
 
==JavaScript - GuiRatioFixer.js==
 
==JavaScript - GuiRatioFixer.js==

Latest revision as of 20:57, 10 January 2012

Author: Jonathan Czeck (aarku)

Contents

[edit] Description

This script will adjust the aspect ratio of a GUIText or GUITexture object by scaling it horizontally to fit the proportions.

It does not know how to align groups of GUI objects after it adjusts their aspect ratio.

[edit] Usage

Place this script on a GameObject with a GUIText and/or GUITexture component. Then scale the object to the correct screen size in a Game View that has aspect set to 4:3. When you run the game, the object's scale will be changed to match the actual screen ratio.

If you prefer working in a different aspect ratio, adjust the Native Ratio value to your native aspect ratio desired. This is horizontal / vertical.

[edit] C# - GuiRatioFixer.cs

using UnityEngine;
using System.Collections;
 
// Use this on a guiText or guiTexture object to automatically have them
// adjust their aspect ratio when the game starts.
 
public class GuiRatioFixer : MonoBehaviour
{
    public float m_NativeRatio = 1.3333333333333F;
 
    void Start ()
    {
        float currentRatio = (float)Screen.width / (float)Screen.height;
        Vector3 scale = transform.localScale;
        scale.x *= m_NativeRatio / currentRatio;
        transform.localScale = scale;
    }
 
}

[edit] Boo - GuiRatioFixer.boo

import UnityEngine
 
# Use this on a guiText or guiTexture object to automatically have them
# adjust their aspect ratio when the game starts.
 
class GuiRatioFixer (MonoBehaviour):
    public m_NativeRatio = 1.3333333333333
 
    def Start ():
        currentRatio = (Screen.width+0.0) / Screen.height
        transform.localScale.x *= m_NativeRatio / currentRatioe

[edit] JavaScript - GuiRatioFixer.js

// Use this on a guiText or guiTexture object to automatically have them
// adjust their aspect ratio when the game starts.
var m_NativeRatio = 1.3333333333333;
 
currentRatio = (Screen.width+0.0) / Screen.height;
transform.localScale.x *= m_NativeRatio / currentRatio;
Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox