3分でわかる!Unityでランダムな数値を思うがままに生成する方法

Sponsored Link

Unityでランダムな数値を生成したいんだけど!?

どうも、Linです。250g、挑戦です。

 

Unityでゲームアプリを作成しているとたまに、

ランダムな数値を生成したい

という瞬間があることでしょう。

 

そんなときは、

RandomクラスのRangeメソッド

を使うといいですよ。

 

使い方としては、

Random.Range(最小値, 最大値)

という感じですね。

 

unity ランダム

 

このRangeメソッドは引数に設定した最小値と最大値の間にある数値を返り値として返します。

 

unity ランダム

 

注意点としては、最小値と最大値の値はfloat型でなくてはならぬ点で、数値の後ろには必ずfをつけるようにしましょう。

 

たとえば、

Random.Range(-10.0f, 10.0f);

としてやれば、こいつが-10から10までのランダムな数値を返してくれる異なるわけです。

 

 

unity ランダム

 

空のオブジェクト「GameObject」を作成してそこにスクリプト「Test.sc」をアタッチしてみます。

unity ランダム

 

-10から10までのランダムな数値をコンソールに表示するスクリプトを書いてやると、

 

 

 

https://gyazo.com/002c0e2365dfedfe4c83ffff33347999

こんな感じでフレームごとに-10から10までのランダムな数値を吐き出してくれるようになります。

もっと詳しいRandomクラスの使い方はUnityの公式レファレンスをご覧くださいね。

 

 

Unityのランダムを生成するとこんなゲームが作れる

最後に、ぼくがユニティのRandom.Rangeをどのように役立てたのかをついてに書いておきましょう。

ぼくは、GameObjectのtransformの位置情報のx・yの値にランダムの数値をあてがうことで、

トマトがブルブル振動するアプリ

を作ってみました。
https://gyazo.com/998cb1803d11e50664e7e0c9aecccd17

 

作り方は簡単で、トマトの画像をヒエラルキーにぶち込んで、

というスクリプトをトマト画像にアタッチするだけです。

this.gameObejctでスクリプトがアタッチされているゲームオブジェクトを取得し、そのtransformコンポーネントの位置情報をTranslateメソッドで変更しているわけです。

Translateメソッドの第一引数はx座標、第二引数はy座標なのでそれぞれ設定し、z座標に関しては2Dゲームなので0を設定。

これでトマトが振動するゲームが作れるというわけですね。

Unityでランダム数値を生成したいという方はよかったら試してみてください。

 

それでは!

Lin


Sponsored Link

コメントはこちらからお願いします!



もう1本読んでみる