【问题标题】:how to Change Font Size of UI Text element using UI Slider in unity C#?如何在统一 C# 中使用 UI 滑块更改 UI 文本元素的字体大小?
【发布时间】:2019-04-12 18:45:16
【问题描述】:
使用 UnityEngine;
使用 UnityEngine.UI;
公开课幻灯片:MonoBehaviour {
Text text;
public Slider slider;
void Start(){
text = GetComponent<Text> ();
}
public void textscale(int value){
slider.value = text.fontSize;
}
}
【问题讨论】:
标签:
c#
visual-studio
user-interface
unity3d
text
【解决方案1】:
-
将您当前的脚本替换为以下脚本:
public class slide : MonoBehaviour
{
public Text text; // Drag & drop the Text component inside the Inspector
public void ChangeFontSize(float value)
{
ChangeFontSize( Mathf.RoundToInt( value ) ) ;
}
public void ChangeFontSize(int value)
{
text.fontSize = value;
}
}
单击您的滑块,在 OnValueChanged 事件中添加一个新条目。
- 拖放保存脚本的游戏对象,然后选择
slide > ChangeFontSize (Dynamic float)
【解决方案2】:
-
添加脚本:
using UnityEngine;
using UnityEngine.UI;
public class ScalerScript : MonoBehaviour
{
public Text text;
public void TextScale(Slider slider)
{
text.fontSize = (int)slider.value;
}
}
创建空游戏对象。附加ScalerScript 并将您的文本对象拖放到检查器窗口中脚本的文本字段:
将您的 Text 元素的 Vertical Overflow 设置为 Overflow:
设置滑块。将带有 ScalerScript 的空游戏对象拖放到 OnValueChanged 滑块函数上。将 Slider 元素作为参数拖放到 TextScale 方法。将 Slider 的 MaxValue 设置为 200:
- 运行场景。