スクラッチでAR対戦ゲームの作り方

中級

今回つくるゲーム

難易度2 out of 5 stars

今回はスクラッチでAR対戦ゲームを作っていきます。画面上に現れる敵にむかってパンチをして得点を競います。そのためには”ビデオモーションセンサー”という拡張機能を使います。このゲーム作りがマスターできればいろいろなARゲームを作ることができるようになりますのでぜひチャレンジしてみてください。

まずは実際にゲームをプレイしてみてください。

youtube解説

こちらの動画でもわかりやすく弾幕の作り方をゼロから解説していますのであわせてチェックしてください。チャンネル登録もよろしくお願いします!

【ゼロから解説】スクラッチでAR対戦ゲームの作り方

ゴンザレスの動きを作る

まずはゴンザレスの動きを作っていきましょう。ゴンザレスのスプライトに以下のコードを書いていきます。🏴が押されたら3秒待ってゲームがスタートし、ゴンザレスが2秒おきに画面のどこかに現れます。

スクラッチでAR対戦ゲームの作り方

スクラッチでAR対戦ゲームの作り方

「どこかに行く」を使うと、上端の方に行くと顔が切れてしまって微妙なので、x座標、y座標それぞれ範囲を指定しています。

では、🏴を押してみましょう。以下のように動けば成功です。

ゴンザレスを攻撃できるようにする

次にARでゴンザレスを攻撃できるようにしていきましょう。ARで攻撃するには”ビデオモーションセンサー”という拡張機能を使います。左下のプラスボタンを押し、ビデオモーションセンサーを選択します。

スクラッチでAR対戦ゲームの作り方
スクラッチでAR対戦ゲームの作り方

そうすると、拡張機能が使えるようになりますので、ゴンザレスのコードを以下のように変更します。かすかな動きでもモーションセンサーは反応してしまうのでしっかりとパンチとわかるようにモーションが70より大きい時だけポイントが入るようにしています。

スクラッチでAR対戦ゲームの作り方

では、実際にパンチしてみましょう、以下のようにゴンザレスに向かってパンチをしてポイントが入れば成功です。

スクラッチでAR対戦ゲームの作り方

モーションセンサーは「入り」になっているあいだはずっと反応してしまいます。ゲーム中のみポイントが入るようにゲーム中という変数を作って管理しています。

 

パンチが当たったときに星を出す

次にゴンザレスにパンチが当たった時にわかりやすく星を出しましょう。

新たにスプライトを作成して、以下のように星のコスチュームを作ります。

スクラッチでAR対戦ゲームの作り方

そして、以下のコードを書いてください。ヒットのメッセージを受け取った時にランダムな角度で表示するだけです。表示したらすぐに隠すようにしましょう。

スクラッチでAR対戦ゲームの作り方

では、実際にプレイしてみましょう。以下のようにパンチが当たった時に星が出れば成功です。

ひよこを出現させる

これでゴンザレスは攻撃できるようになりましたが、このままだとむやみやたらにパンチを出せば良いことになってしまいゲームとしては微妙です。1匹ひよこを出現させて、ひよこを間違って叩いてしまうと減点になるようにしましょう。スプライトの追加からひよこを選び、3つめの首を下げたコスチュームは削除します。

スクラッチでAR対戦ゲームの作り方

ひよこのコードは以下の通りとなります

ひよこに当たった時には逆にモーションの大きさだけ減点されます。

スクラッチでAR対戦ゲームの作り方

では実際に動きを見てみましょう。

ゲームの制限時間をつくる

次にゲームの制限時間を作ります。
以下のコードをどこかに書きます。どこでも大丈夫ですが、今回はわかりやすいように背景のコードに書いていくようにします。

スクラッチでAR対戦ゲームの作り方
スクラッチでAR対戦ゲームの作り方

制限時間やBGMなど、ゲーム全体にかかわるコードは背景に書くか、ゲーム管理用のスプライトを作ると良いです

ゴンザレスにしゃべらせる

さいごにゲーム中にゴンザレスがいろいろとしゃべるようにします。

まずは、話ができるように拡張機能で音声合成を追加します。

スクラッチでAR対戦ゲームの作り方

次に、新しくリストを作り、以下のようにしゃべらせたい言葉を入力します。今回は英語で書きました。

スクラッチでAR対戦ゲームの作り方

そして、ゴンザレスのコードに以下を追加します。

これでゲーム中、3秒おきにゴンザレスがランダムに何かの言葉をしゃべるようになります。

スクラッチでAR対戦ゲームの作り方

すべてのコード

コードの解説は以上になります。すべてのコードは以下から確認できます。

ARゴンザレスと対決