Unityで何かを作ってみる その9

野菜の画像をランダムに表示する

今まで、キャベツの画像のみ固定で表示させていましたが、野菜の画像をランダムで表示させるように変更します。

まず変更したスクリプトが以下になります。
VegetableSprite.cs

-略-
//野菜のリスト
List _vegetableList = new List();

void Awake() {
    //野菜のリスト
    _vegetableList.Add("cabbage");
    _vegetableList.Add("tomato");
}

public void SetImage() {
    //野菜の決定
    string vegetableName = _vegetableList[Random.Range(0, _vegetableList.Count)];
    _sprite.sprite = (Sprite)Resources.Load("images/" + vegetableName , typeof(Sprite));
}
-略-

今回、ListにAwakeで野菜を定義し、それをランダムで取り出すという方法を用いております。

これで、以下のように野菜がランダムで表示されるようになりましたが、、、

この実装はメモリや速度的に非常によろしくない実装になっています。

何故かと言うと、野菜が一つ生成される毎に、上記リストを生成するためです。
次回、こちらを修正していきます。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク