
如题,类似于图片中这样,点击按钮可以实现文字和图片的切换。应该如何写脚本呢?
关注实现一个场景多个图片或画布的切换,你可以在一个空的 GameObject 上添加多个 Image 或 RawImage 组件,并给它们各自创建对应的纹理。
切换图片或画布的时候,你可以通过修改 Image 或 RawImage 的 texture 属性来实现。代码示例如下:
using UnityEngine;
using UnityEngine.UI;
public class ImageSwitcher : MonoBehaviour
{
public Texture[] textures; // 存放纹理的数组
public float switchInterval = 1f; // 切换间隔时间
private int currentTextureIndex = -1; // 当前纹理的下标
private RawImage rawImage; // RawImage 组件
void Start()
{
rawImage = GetComponent<RawImage>(); // 获取 RawImage 组件
if (textures.Length > 0)
{
currentTextureIndex = 0;
rawImage.texture = textures[currentTextureIndex]; // 显示第一张纹理
InvokeRepeating("SwitchTexture", switchInterval, switchInterval); // 定时切换
}
}
void SwitchTexture()
{
currentTextureIndex++;
if (currentTextureIndex >= textures.Length)
currentTextureIndex = 0;
rawImage.texture = textures[currentTextureIndex];
}
}
在这个脚本中,我们通过定时器实现了不同纹理的切换。你也可以通过按钮点击事件等方式切换纹理。