zoukankan      html  css  js  c++  java
  • unity3d 幻灯片效果实现

    上一篇使用的是静态方式进行的加载,采用的数据结构为 数组

    该篇文章则是使用动态加载的方式实现:

    this.objsOfRouses = Resources.LoadAll("images",typeof(Texture));

    该方法会安排图片在文件在顺序进行加载。

    如图:

    加载顺序如下:

    using UnityEngine;

    using System.Collections;


    public class imageAnimation : MonoBehaviour {
    //
    private Object[] objsOfRouses;

    private Texture2D[] texturesLoaded;

    private Material materialOfPanel;

    private int frameCounter =0;

    public float delayTime =0.5f;

    private float currentTime=0.0f;
    private float endTime =0.0f;

    public GameObject dongWu;
    void Awake()
    {
    //get the material of this panel
    this.materialOfPanel = this.renderer.material;


    }

    // Use this for initialization
    void Start () 
    {
    //set the starting time
    currentTime =Time.time;//0.0s
    //get images form the Resourse floder
    //the return value is object
    this.objsOfRouses = Resources.LoadAll("images",typeof(Texture));
    int theLength =objsOfRouses.Length;

    //put the images into material arrary 
    texturesLoaded =new Texture2D[theLength];
    for (int i=0; i<theLength; i++)
    {
    this.texturesLoaded[i] =(Texture2D)this.objsOfRouses[i];
    Debug.Log("the image'name is -->"+this.texturesLoaded[i].name);
    }
    }
     
    // Update is called once per frame
    void Update () {
     
    changePic();
     

    }

    //
    void changePic(){
    endTime = Time.time;
    float timeOffset = endTime - currentTime;
    if (timeOffset>0.3){
    if (this.frameCounter<this.objsOfRouses.Length){
    this.materialOfPanel.mainTexture = texturesLoaded[frameCounter];
    ++frameCounter;
    }else{
    frameCounter=0;
    this.materialOfPanel.mainTexture = texturesLoaded[frameCounter];
    }
    //when changge one image,get the new time
    currentTime =Time.time;
    }

     
    }


    }

    最后效果如下:

  • 相关阅读:
    第十一周课堂测试 -- 四则运算
    软件工程第十一周学习进度
    软件工程课堂测试2
    软件工程概论_课堂测试
    11.16 动手动脑
    动手动脑
    网络模型分析
    Actor模型原理
    linux下启动oracle
    Linux 环境下Oracle11g安装图文详细教程
  • 原文地址:https://www.cnblogs.com/alongu3d/p/3252668.html
Copyright © 2011-2022 走看看