目录
图片
在Canvas画布中,可以通过修改Image组件的Source Image属性来改变显示图片类型。其中,Filled类型特别适合用于制作血条效果。
文本
添加 Text 对象并修改 Font Asset 后输入文本。在 Fonts 面板中点击 Aa 图标,选择 Create TextMeshPro Font Asset 即可为文本添加字体样式。注意文本换行可能会超出预期范围,导致内容延伸到黄色方框之外。
按钮
优化button对象,设置以下状态颜色:
- Normal Color:默认状态颜色
- Highlighted:鼠标悬停高亮颜色
- Pressed Color:点击时的颜色
- Selected:点击后的选中状态颜色
点击按钮使得一个游戏对象变色功能可以通过以下步骤实现:
- 创建空游戏对象:在场景中新建一个名为
Test的空游戏对象。 - 添加脚本:在
Test对象上挂载ButtonTest脚本。 - 配置按钮事件:
- 在按钮的
OnClick()事件中,添加Test游戏对象(而非脚本)。 - 从对象列表中选择
ButtonClickTest方法,以实现点击变色功能。
- 在按钮的
这样,点击按钮时,Test对象就会执行变色逻辑。
using UnityEngine;
using UnityEngine.UI;
public class ButtonTest : MonoBehaviour
{
public Image image;
public bool imageColorchange;
void Start()
{
}
void Update()
{
}
public void ButtonClickTest()
{
if (!imageColorchange)
{
image.color = Color.red;
imageColorchange = true;
}
else
{
// 使用正确的Color构造函数,参数范围为0到1
image.color = new Color(1f, 1f, 1f, 1f);
imageColorchange = false;
}
}
}
切换
由于Toggle自带标签不够清晰,建议改用Text(TMP)组件提升可读性。将目标对象拖入Toggle的OnValueChanged事件,选择GameObject.SetActive方法控制显示/隐藏,注意对象颜色需保持白色否则会影响显示效果。
滑块
优化滑动条数值联动效果。在Test对象中添加以下代码:
public TMP_Text text1;
public void TestChange(float value)
{
text1.text = value.ToString();//数字转string类型
// text1.text = "你好";
}
再创建一个Text(TMP)对象,在Test对象中绑定Text1,在Slider中的On Value添加Test对象的TestChange方法后运行。
滚动条
滚动条控制Image移动。在Test对象中添加以下代码:
//滑块和滑动条
public Scrollbar Scrollbar; //引用Scrollbar组件
public GameObject obj; //引用需要移动的物体
public void ScrollbarChange()
{
Vector3 newPosition = new Vector3(Scrollbar.value * 1000f + 560, 291, 0);
//Canvas位置
obj.transform.position = newPosition;
}
在Test对象脚本组件中拖入滚动条和Image对象,在Scrollbar对象中的On Value加入Test对象并选择ScrollbarChange方法后运行。
滚动视图
滚动条两条+文本/图片等组成,在Scroll View的中的Viewport的Content添加image并添加垂直layout组件控制Control Child Size 的Width让图片平铺满Content,滚动视图对象中的Scroll Rect,选择垂直、水平滚动条以及控制滚轮灵敏度。
下拉菜单
Dropdown,Options控制选项,Value控制初始值,将Test对象拖入Dropdown,选择DropdownChange方法并运行。代码如下:
public void DropdownChange(int index)
{
switch (index)
{
case 0:
Debug.Log("You choose A");
break;
case 1:
Debug.Log("You choose B");
break;
case 2:
Debug.Log("You choose C");
break;
case 3:
Debug.Log("You choose D");
break;
}
}
输入字段
IputField
图片平铺
将图片移动到父组件上,点位置按住Alt键点击位置可以快速平铺到父组件上
2万+

被折叠的 条评论
为什么被折叠?



