unity加载本地图片轮播

using System.IO;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Picplay : MonoBehaviour
{

    Image m_image;
    int picindex;//图片名称
    string filepath;//图片所在文件夹
    public float loadspeed;//每帧加载速度 
    bool bload;
    bool bsub;

    // Use this for initialization
    void Start()
    {
        m_image = GameObject.Find("Image").GetComponent<Image>();
        filepath = Application.streamingAssetsPath;

        m_image.fillAmount = 0;
        bload = false;
        bsub = false;

        Picplaycontrol(0);
    }

    // Update is called once per frame
    void Update()
    {
        if (bload)
        {
            m_image.fillAmount += loadspeed;
            if (m_image.fillAmount == 1) bload = false;
        }
        if (bsub)
        {
            m_image.fillAmount -= loadspeed;
            if (m_image.fillAmount == 0) bsub = false;
        }
    }


	/// <summary>
	/// 调用轮播
	/// </summary>
	/// <param name="i">图片名称</param>
    public void Picplaycontrol(int i)
    {
        picindex = i;
        print(i);
        InvokeRepeating("Loadpic", 0, 5f);
    }
    void Loadpic()
    {

        string[] dirs = System.IO.Directory.GetFileSystemEntries(filepath);
        if (picindex > dirs.Length)
        {
            picindex = 0;
        }

        string picpath = filepath + "/" + picindex.ToString() + ".png";
        if (File.Exists(picpath))
        {
            print(2);
            byte[] bt = File.ReadAllBytes(picpath);
            Texture2D t2d = new Texture2D(1920, 1080);
            t2d.LoadImage(bt);
            Sprite sprite = Sprite.Create(t2d, new Rect(0, 0, t2d.width, t2d.height), Vector2.zero);
            m_image.sprite = sprite;
            Invoke("Setboolload", 0.2f);//因为加载图片需要时间
            Invoke("Setboolsub", 3f);
            picindex++;
        }

    }
    public void Setboolload()
    {
        bload = true;
    }
    public void Setboolsub()
    {
        bsub = true;
    }

}

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值