2016-04-11 15 views
2

4枚のランダムな画像を表示したいと思います。そこで、私は "correct_caps"フォルダから1つのランダムな画像を選んで、別のフォルダから3つ静止させました。今、正しい画像が常にその場所を変えるように、その画像を表示するためにランダムな画像変数を選択したいと思います。無作為にランダムなボタンに表示する画像を選択してください。

using UnityEngine; 
using UnityEngine.SceneManagement; 
using UnityEngine.UI; 
using UnityEngine.EventSystems; 



public class NewBehaviourScript : MonoBehaviour 
    { 
public Image art1; 
public Image art2; 
public Image art3; 
public Image art4; 


public int x; 
public int x1; 
public int x2; 
public int x3; 

public string s; 
public string path; 
public string path1; 
public string path2; 
public string path3; 
public string path4; 

public int cl; 
public int i; 


void Start() 
{ 


    //selection of correct letter 
    cl = Random.Range(1, 26); 

    path1 = "Capital Letters/correct_caps/" + cl; 
    path = "Capital Letters/" + cl; 
    Debug.Log("Load path is " + path1); 


    x1 = Random.Range(1, 5); 
    path2 = path + "/" + x1; 



    x2 = Random.Range(1, 5); 
    path3 = path + "/" + x2; 
    i = 0; 
    while (i == 0) 
    { 
     if (x1 == x2) 
     { 

      x2 = Random.Range(1, 5); 
      path3 = path + "/" + x2; 
      Debug.Log("Load path3 is " + path3); 

     } 
     else 
     { 

      Debug.Log("Load path3 is " + path3); 
      i++; 
     } 
    } 




    x3 = Random.Range(1, 5); 
    path4 = path + "/" + x3; 

    i = 0; 
    while (i == 0) 
    { 
     if (x1 == x3 || x2 == x3) 
     { 
      x3 = Random.Range(1, 5); 
      path4 = path + "/" + x3; 
      Debug.Log("Load path4 is " + path4); 
     } 
     else 
     { 

      Debug.Log("Load path4 is " + path4); 
      i++; 
     } 
    } 

    //here I displayed images . But, I want to select art,art1,art2,art3 randomly. 

    art.sprite = Resources.Load<Sprite>(path1) as Sprite; 
    art1.sprite = Resources.Load<Sprite>(path2) as Sprite; 
    art2.sprite = Resources.Load<Sprite>(path3) as Sprite; 
    art3.sprite = Resources.Load<Sprite>(path4) as Sprite; 
}  

} 

答えて

0

乱数を1-4にして、if文を使用します。

Random random = new Random(); 
int randomNumber = random.Next(0, 5); 
if (randomNumber ==1) 
{ 
     art.sprite = Resources.Load<Sprite>(path1) as Sprite; 
} 
if (randomNumber ==2) 
{ 
     art1.sprite = Resources.Load<Sprite>(path2) as Sprite; 
} 
if (randomNumber ==3) 
{ 
     art2.sprite = Resources.Load<Sprite>(path3) as Sprite; 
} 
if (randomNumber ==4) 
{ 
     art3.sprite = Resources.Load<Sprite>(path4) as Sprite; 
} 
+0

である私の正しい文字以外の何ものでもありません。 「アート」自体に常に正しい文字(パス1)が表示されるのは、ゲームには適していません。 –

0

Resources.Load経由でイメージを読み込むには、 "Resources"フォルダにある必要があります。あなたが好きなら、それをサブフォルダに入れることができます。

【こちら】(http://docs.unity3d.com/ScriptReference/Resources.Load.html)ここでパス1ドキュメント

関連する問題