这个只要判断做好就比较简单了(话说这个if 有点多 大概思想是这个 看不下去就自己优化下吧)点击的时候调用协程就可以了 (比如下图)
按钮不好调用协程的话 写个方法 调用协程 按钮调用那个方法
下面帖代码:
public Image[] images//image的数组(需要的话可以动态获取 也可以手托)
public Sprite[] sprites//sprite的数组(同上)
WaitForSeconds wait
public float waitTime=1//等待时间
int tim//计次的参数
private void Start()
{
tim = 0
wait = new WaitForSeconds(waitTime)
}
IEnumerator WaitChangeImage()
{
tim++
ChangeImage()
yield return wait
if (tim <sprites.Length)
{
StartCoroutine(WaitChangeImage())
}
}
private void ChangeImage()
{
for (int i = 0i <images.Length i++)
{
if (tim <images.Length)
{
if (images.Length - tim + i <images.Length)
{
if (i <sprites.Length)
{
images[images.Length - tim + i].sprite = sprites[i]
}
else
{
images[images.Length - tim + i].sprite = null
}
}
}
else
{
if (i + tim - images.Length <sprites.Length)
{
images[i].sprite = sprites[i + tim - images.Length]
}
else
{
images[i].sprite = null
}
}
}
}
图的话回调协程没有限制 之后代码上补上了…… 如果想要最后一张图跑完全部image的话
在协程下面 改回调协程的限制为下面的就可以了
if (tim <sprites.Length+images.Length)
{
StartCoroutine(WaitChangeImage())
}
您好,Unity加载图片的消耗是根据图片的大小和数量来决定的,一般情况下,加载单个图片的消耗是很小的,只有几十KB甚至几百KB,但是如果同时加载大量的图片,会导致内存占用增加,从而影响游戏的性能。如果要估算Unity加载图片的消耗,需要考虑以下几个因素:
1. 图片的大小:图片的大小越大,加载的消耗就越大。
2. 图片的数量:如果同时加载大量的图片,会导致内存占用增加,从而影响游戏的性能。
3. 设备的内存:设备的内存越大,加载图片的消耗就越小。
4. 图片的格式:不同的图片格式对加载的消耗也有影响,例如PNG格式的图片比JPG格式的图片消耗更多的内存。
综上所述,Unity加载图片的消耗是根据图片的大小、数量、设备的内存和图片的格式来决定的。如果要减少游戏的内存占用,可以采用压缩图片、动态加载等方法来优化游戏性能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)