自作の簡単タッチセンサーで、フィジカル疑似体験ゲームを遊ぼう!:Scratch 2.0で体験! お手軽フィジカルコンピューティング(9)(2/3 ページ)
Webブラウザだけでプログラム開発から実行まで行える「Scratch 2.0」を用い、センサーの接続や外部デバイスのコントロールに挑戦!今回は簡単なタッチセンサーとそれを使って遊ぶゲームを自作します。
ゲームをつくる
以下のURLにこれから作るゲームのサンプルを公開していますので、タッチセンサーの準備ができたら遊んでみてください。
マイクを使う許可を求めるダイアログが現れますので許可します。加え、てブラウザ自体がマイクを使う許可を求めてくる場合もありますのでこれも許可します。ステージの左上に「音量」の値が表示されていますが、これが-1の間はシステムが準備中ということですので、少しお待ちください。「音量」値が-1ではなくなったら、先ほど作ったタッチセンサーをマイク端子に差し込みます。
ネコが風船に触れると得点になるゲームで、風船は右から左に20個流れ、タッチセンサーに触るとネコがジャンプします(図3)。得点は画面左上の「Score」に表示されます。たくさんジャンプすれば風船に当たる確率は高くなり得点は稼げますが、ジャンプするたびにHPが減少するようにしています。これをゲームの総合得点にどう反映するかは、皆さんが考えてみてください。
ネコのスプライト
ネコのスプライトから取り掛かりましょう。Scratchのプロジェクトエディタを開いてください。使い方など詳しくは以前の記事(Webブラウザではじめるフィジカルコンピューティング――Scratch 2.0とは?)を参照してください。新規のプロジェクトを選択すると、最初からネコのスプライトが用意されていますので、これを利用します。
最初はスプライトの名前が「Splite1」となっていますので、「cat」と変更しておきましょう。名前の変更はプロジェクトエディタ左下の「スプライトリスト」から「スプライト」をクリックします。すると選択されたスプライトが青枠で囲まれます。
囲まれたスプライトの左上に「i」マークが現れますので、これをクリックします。するとこのスプライトのさまざまな属性が変更できます。一番上のテキストボックスで名前を変更できます。それと「プレイヤーでドラッグできるか」にもチェックを入れてください。これはゲーム中にユーザーがこのスプライトをドラッグして移動させることを許可します。
このスプライトには、はじめからコスチュームが2つ用意されています。これを利用して地面で待機しているコスチュームとジャンプしたときのコスチュームを作ります。
まず画面中央のペインをコスチュームに変更します。コスチュームリストに2つのコスチュームが表示されていますので、Costume1を地上にいるコスチュームとします(図4)。ペインをコスチュームにすると現れるペイントエディタを使って、中央にあったネコを下にドラッグしてください。今度はコスチュームリストからCostume2に切り替えます。このコスチュームはジャンプしたときのネコですから上にドラッグします(図5)。これでコスチュームの改造は完了です。
スクリプトを見ていきましょう(図6)。スクリプトのペインに切り替えます。音量が50以上になったとき駆動されるイベントドリブンの構成になっています。オシロスコープでタッチセンサーに触ったときと触らないときの値を確認しましたが、筆者はその10と70の間をとって50で設定してみました。実際にゲームをしてみて動作が不自然であれば、この値を見直しましょう。以前の記事で紹介した「しきい値」の設定なども参考に適切な値を探してみてください。
次はこのイベントが発生したとき、ネコをジャンプさせるためにコスチュームをCosutume2に切り替えます。その次にhpを-1するのですが、その前に変数を定義しておく必要があります。
ブロックタブレットから「データ」を選択し「変数を作る」でhpという変数を作成します。すると「hpを1ずつ変える」というブロックが生成されますので、スクリプトエディタにドラッグします。このブロックの1のところを-1に変更します。次に0.1秒待って元の地上にいるネコのコスチュームに戻します。ここまでできればタッチセンサーを触ってネコがジャンプするか、動作を確認できます。
ネコの位置を適切な位置に移動します。今度はステージ上のスプライトをドラッグすれば簡単に位置を変更できます。縦方向についてはジャンプしたとき、画面からはみ出さないように調整するのがよいでしょう。横方向についてはステージ右から左に風船が移動するので、ネコを右に寄せれば風船の獲得は難しく、また左に寄せれば簡単になると思います。
このあたりの設定はゲームの良しあしを決める重要なポイントなので、何回もプレーして適切な位置を決めてください。そのために、プレー中でもネコの位置を変えられるように設定してみました。適切な位置が決まったら設定した「プレイヤーでドラッグできるか」のオプションは外していいかもしれませんし、あえてプレーヤーに決めさせるのもよいでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.