LoginSignup
1
2

10分で反射神経ゲームを作ろう【MindRender】

Posted at

MindRenderとは

MindRenderはスクラッチのようにブロックを使ってプログラムをする
ビジュアルスクリプト環境です。
無料で使うことができ、3Dゲームを簡単に作ることができるのが特徴です。

PCのほかタブレットやスマホでも動作します
https://mindrender.jp/download_mindrender/

めっちゃシンプルなゲーム

スタートして待つとキューブが落ちてくるので
落ちてきた瞬間にストップするだけ
なるべくはやく止められたほうが高スコア
ezgif-2-3451e813d1.gif

リミックス用プロジェクトを用意しました

いちからオブジェクトを配置するのは大変なので
あらかじめ素材を配置したプロジェクトを用意しました。

起動したら「ロッカー」に移動
gd_215.PNG

ロッカーを使うときはログインが必要です。
アカウントは「新規登録」ボタンから無料で作ることができます。
gd_217.PNG

ロッカーは自分のゲームを保存しておく場所です。

「共有ロッカー」のタブを開き
共有キーに「logi-05」と入力して「更新」ボタンをクリックすると
反射神経ゲームが表示されますので、「リミ用」のプロジェクトの右にある
ダウンロードボタンをクリックしましょう。
gd_216.PNG

リミックス用のプロジェクトを自分のロッカーにコピーすることができます。

「マイロッカー」のタブをクリックすると
「リミ用反射神経ゲーム」がコピーされていますので、クリックして開きましょう。
gd_218.PNG

リミックス用のプロジェクトが開きました
gd_219.PNG

ボタンにプログラム

MindRenderはスクラッチと違い、自分以外の他のオブジェクトを操作することができます。
今回は、ボタンが押されたときにキューブを落としたいので
「可変ボタン」にプログラムしましょう。

ボタンのテキストを変更

ゲーム説明はボタンに書いてしまいましょう。
「せりふ」タブの「textを自分に表示」ブロックを使うと
好きなテキストをボタンに表示することができます。
テキストの中身は改行することもできますので、長文もボタンに書くことができます。
ezgif-2-c8da666dc0.gif

ボタンが押されたらテキストを変更

「イベント」の「自分がタップされたら」を使うと
ボタンが押されたときのプログラムをすることができます。
説明文を、ストップボタンに切り替えてみましょう。
gd_221.PNG

フラグをつかった条件分岐

説明文をタップした時にキューブが落ちてくると困るので
1回目のタップ → ボタンの表示変更
2回目のタップ → ゲームスタート
となるようにしましょう。

まずはボタンがタップされたときに
条件ブロックを追加します。
ezgif-2-bef9fec672.gif

条件に合っているかどうかで
プログラムを切り替えることができます。

「もし< on >なら」の部分に、好きな条件を入れることができます。
今回は「ゲーム開始=0」ならという条件にしました。
ezgif-1-10270f593f.gif

2回目のタップで「ちがう場合は」のプログラムを動かしたいので
「ゲーム開始」変数を1にしておきましょう。

変数がかわったときのイベント

MindRenderはイベントが豊富で
「変数が変更されたら」というイベントがあります
かなり便利なイベントなので使ってみましょう。

「イベント」の下の方にある「〇〇が変更されたら」が
変数が変更されたときのイベントです。
gd_222.PNG

ゲーム開始時は「ゲーム開始」の値は0
ボタンが押されて、「ゲーム開始」の値が1になったタイミングで
このイベントが実行されることになります。

ゲーム開始したら、キューブが落ちてきてほしいので
立方体の「重力」と「物理エンジン」をオンにしましょう。
gd_223.PNG

これで、ゲーム開始時に下に落ちるようになりました。
ezgif-5-06a1d0bd9d.gif

このままだとすぐに落ちてきちゃうので
ランダムな秒数待ってから落ちてくるようにします。
ezgif-5-7bda6c31a7.gif

演算の「乱数」を使うとランダムな値を使うことができます。
これで、いつ落ちてくるか分からなくなりました。

落ちてきたキューブを止める

キューブを止めるのも物理エンジンのブロックを使います。

物理をオフにすると落ちてこなくなるので
「もしゲーム開始=0」のブロックの「ちがう場合は」のほうに
物理エンジンoffのブロックを入れましょう。
gd_225.PNG
ボタンを連打できちゃうと困るので
テクニックの中にある「自分の表示」をoffにし、ボタンを連打できなくしておきます。

ゲームオーバーを作ろう

キューブの初期位置はY10の位置なので
初期位置に近いほど、スコアが良いということにしましょう。

まずは落ちる前にボタンが押されたらゲームオーバーにしたいです。

キューブが落下していないときはY=10の位置にいるので
それを条件にしましょう。

「もし < 立方体の座標Y = 10 > なら」という条件を作ります
ezgif-3-7361d39aaf.gif

Y=10なら落下していないのでゲームオーバーです。
立方体の表示をoffにして、ゲームオーバーのメッセージを出しましょう。
gd_226.PNG

タイトルオブジェクトを使うと、画面に文字を出すことができます。
はじめは非表示にしているタイトルも
「textを〇〇に表示」のブロックを使うと自動的に表示onになります。

オブジェクト名の左にあるチェックボックスのチェックを外しておくと
ゲーム開始時にオブジェクトを非表示にすることができます。
今回はあらかじめoffにしてありました。
gd_227.PNG

スコアを表示しよう

落下が始まってからストップボタンを押した場合は
スコアを表示しましょう。

図のように「反射神経レベル」と「スコア」を表示したいです。
gd_228.PNG

まず、ゲームオーバーを表示するプログラムの下の
「ちがう場合は」の中に、スコアを表示するためのブロックを入れます。
さらに「効果」の「紙吹雪を表示」のブロックも入れておきましょう。
gd_229.PNG

MindRenderには多くのエフェクトが用意されています。
紙吹雪のブロックは画面の手前にエフェクトを出すブロックです。
ezgif-2-ed1a886ee0.gif

つぎに、「反射神経レベル」と「スコア」を組み合わせて
タイトルに表示してみましょう。
ezgif-2-9887d032d8.gif

Y=10のときを100点
Y=0のときを0点にしたいので、
単純にY座標の10倍をスコアにします。

文字列結合には「+」演算子を使います。

完成!

これで反射神経ゲームは完成です。
ezgif-2-47edf6b220.gif

MindRenderにはスコアを記録するブロックもあるので
ユーザー同士でスコアを競えるようにするのも楽しいと思います。

キューブのオブジェクトを面白いキャラクターに変えたり
ゲームオーバー時にもエフェクトをつけてみたりと
色々アレンジしてみてくださいね。

「共有ロッカー」の共有キー「logi-05」から
完成版を見ることもできるので
うまく行かないときは完成版をチェックしてみて下さい。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2