- Home /
load images into an array runtime.
Hello fellas , i am trying to make a slideshow of images in which the slideshow should show the images as the new images gets stored in the folder , these new images comes when a new screenshot is captured. these screenshots are stored in 'Resources/Screenshots' directory.
i have used the following code to load the images from the 'Resources/Screenshots' directory this code works well when run in editor , but when i create an exe it doesn't work , it doesn't take the new images from the 'Resources/Screenshot'
using UnityEngine;
using System.Collections;
using System.IO;
[RequireComponent (typeof (GUITexture))]
public class SlideShow : MonoBehaviour
{
//public Texture2D[] slides;
public float changeTime = 10.0f;
private int currentSlide = 0;
private float timeSinceLast = 1.0f;
public long screenshotCount = 0;
//An array of Objects that stores the results of the Resources.LoadAll() method
private Object[] objects;
//Each returned object is converted to a Texture and stored in this array
public Texture[] textures;
//With this Material object, a reference to the game object Material can be stored
private Material goMaterial;
void Start()
{
currentSlide = 0;
}
void Update()
{
// Start SlideShow
if (Input.GetKeyDown("f10"))
{
//Load all textures found in the folder, that is placed inside the resources folder
this.objects = Resources.LoadAll("Screenshots", typeof(Texture));
//Initialize the array of textures with the same size as the objects array
this.textures = new Texture[objects.Length];
//Cast each Object to Texture and store the result inside the Textures array
for(int i=0; i<objects.Length;i++)
{
this.textures[i] = (Texture)this.objects[i];
}
guiTexture.texture = textures[currentSlide];
guiTexture.pixelInset = new Rect(-textures[currentSlide].width/2 , -textures[currentSlide].height/2, textures[currentSlide].width , textures[currentSlide].height);
//currentSlide++;
}
if(timeSinceLast > changeTime && currentSlide < textures.Length)
{
guiTexture.texture = textures[currentSlide];
guiTexture.pixelInset = new Rect(-textures[currentSlide].width/2, -textures[currentSlide].height/2, textures[currentSlide].width, textures[currentSlide].height);
timeSinceLast = 0.0f;
currentSlide++;
}
if(currentSlide == textures.Length)
{
currentSlide = 0;
}
timeSinceLast += Time.deltaTime;
}
}
if anyone can help me with this then Please let me know how can i solve this. or what is the other way to load the images runtime. -Thanks in advance
Your answer
Follow this Question
Related Questions
Can't Re-Enable Lightmaps after Disabling Them at Runtime 1 Answer
Health Meter (image array) with Level Up feature. 1 Answer
Instantiating random prefabs 1 Answer
Finding What Material Is On The Object Player Collided With. 1 Answer
Can I get the a list of the properties in a shader at runtime? 1 Answer