三流作家の雑記帳

三流作家、葉山洋三が日々感じたことを記すブログ

1日15分でマスターするUnityトレーニング:第26回(ランダム処理)

この処理を使っていないゲームは存在しないのではないか?
そう思えるほどの処理、ランダム処理についてご説明します。

実は以前にRPGを作っていた時、これを利用してエンカウント処理を実装したことがあります。
ランダム処理とか聞くと大変そうに思えるかもしれませんが、処理自体は全然大した事はありませんので、ご安心を。

まずは1つ変数を作ります。
名前は何でもいいですが、私はこのようにしました。
int bullet_type = 0;

この構文を置く場所はupdateやstart内ではなく、その外です。
=0で初期化もしておきましょう。


ランダム処理の構文はこちら。
---------------------------------------------------------------------------
bullet_type = Random.Range(0, 4);
  if(bullet_type == 1){
処理を書く
  }else{
処理を書く
  }
---------------------------------------------------------------------------

解説します。
色々とありますが、 Random.Range(0, 4);がランダム処理です。
()内で範囲を決めます。
この書き方だと数字が0~4の間で1つランダムで選ばれます。
つまり、範囲が広いほど確率が悪くなるということですね。
その数字をbullet_type =で、最初に宣言した変数へ入れます。

if文はその数字が1だったら、括弧内の処理、違ったらelse内の処理。
大抵はこんな実装になるかと思います。
これだと5回に1回、通常とは違う処理になるといった動きですね。

テストしてみます。
スライム弾をメタルスライム弾にしてみました。
Unity26-1.gif

成功です!
if内の処理にメタルスライムを発射、elseにスライムを発射する処理を入れています。
速度というか威力を10倍にして、エフェクトもちょっと変えてみました。
スライムではびくともしませんが、メタルスライムが数発当たると、ビルが吹き飛びますw
スライム同士がすり抜けるのは、全くもって謎。
ビルにぶつかるのだから、弾同士も衝突するはずなのですが……。

まあ、それはいいとして、ifを増やして3だったらスライムベス弾とかも発射可能です。
シンプルながらも色々と応用出来る処理ですね。

エンカウント処理に使うも良し、ダメージ判定の幅を決めるも良し。
上手に使って、皆さんのゲームを面白くして下さいね。

それでは。
  1. 2014/07/31(木) 19:58:36|
  2. Unity
  3. | トラックバック:0
  4. | コメント:0
<<Ninja250、2015年モデル発表! | ホーム | 有害鳥獣駆除>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://8ayama.blog.fc2.com/tb.php/529-7aadb5f5
この記事にトラックバックする(FC2ブログユーザー)

小説試し読み

販売している小説の冒頭部分です。PDFが開きます。

アルとフィルの大冒険 ~魔法の迷宮~
天賦の才

ご購入はこちらからどうぞ

アルとフィルの大冒険 ~魔法の迷宮~
天賦の才

Blender講座

選択すると、その記事へジャンプ出来ます。

Unity講座

最新記事

広告







月別アーカイブ

カテゴリ

未分類 (0)
雑記 (192)
小説 (29)
時事 (57)
ゲーム (76)
Blender (92)
競馬 (74)
映画 (35)
車/バイク (303)
狩猟/射撃 (96)
Unity (73)

検索フォーム

リンク

このブログをリンクに追加する