前回までのあらすじで

なんか各方面に穴開けるオブジェクトを作りました

懸念していたRaalTime CSG もだいぶ使いやすくなってました

ボールを落としみる

取り敢えず4色のボールをひたすら落としてみた

RaalTime CSGで作成したオブジェクトは当たり判定がついているので

ボールに”Rigidbody”コンポーネントをくっつければ起動した途端落ちます。

ランダムの色のボールを量産する Enumランダム取得

まずEnumをリスト化する方法です。

色のEnumを作成し、

public enum BallColor
{
    blue,
    red,
    yellow,
    green
}

Enumを配列化します。

https://www.sejuku.net/blog/50504

上記ではforeachで回してますがとりあえずリストにして保持します

続いて、Listからランダム取得するList拡張を使用

以下の拡張を3年近く使ってますのでおすすめです

この二つの要素から、Enumをランダム取得し、それをもとに

Resourcesからマテリアルを取得し差し替えます。

        //カラー名リスト
        var colorList = Enum.GetNames(typeof(GameSetting.Ball.BallColor));

        //List化
        List<string> stringList = new List<string>();
        stringList.AddRange(colorList);

        //マテリアル差し替え
        GetComponent<MeshRenderer>().material = Resources.Load<Material>("Material/" + stringList.GetAtRandom());

List化の部分はなんかもっと簡単にできそう

Enumを文字列として取得するのはあんまよくないとかいう噂聞きましたが、

僕はゴリゴリやります。

その後…

とりあえず、穴に色を決めまして、この板を動かすことによって、

色に合った穴に入れる的な感じになりそうです。

unity 1week は後1時間で始まりますが、全然終わらないくせに

呑気にブログ書いております照