【オンライン講座+作り方解説】スマホゲームが作れるOctoStudioでコントローラー機能付きゲームを作り、メッセージングを学ぼう!

KIDSPROは、オンライン講座を02/18(日)に実施します。
MITメディアラボが開発したモバイルコーディングアプリOctoStudioで、タブレットやスマホ用のゲームでプレイヤーを操作できる「オンスクリーンコントローラー」の作り方を解説し、コンピューターサイエンスにおいて必要な概念である「メッセージング」について学びます。

OctoStudioでゲームを作り、メッセージングを学ぼう!

OctoStudioでオンスクリーンコントローラーでプレイヤーを操作するゲームを作ります。プログラミングの過程で、イベント、メッセージング、乱数などのプログラミングの概念を学びます。

 

日時: 2024/02/18(日) 17:30 ~ 18:30
場所: オンライン講座
対象: KIDSPROスクール生、KIDSPRO eラーニングをご利用の方
必要なもの: OctoStudioをインストールしたスマホ、またはタブレット(パソコンは非対応です)

費用: 無料

OctoStudioのインストール方法

OctoStudioのインストール方法はこちらをご覧ください。

OctoStudioとは?

MITメディアラボ Lifelong Kindergartenグループによって開発された無料モバイルコーディングアプリです。

スマートフォンやタブレット上でアニメーションやゲームをつくることができます。 写真を撮ったり、音を録音して、ブロックでコーディングすることができます。またプロジェクトを友達や家族に送ることもできます。

スマートフォンやタブレットに対応しており、パソコンは非対応です(2024年時点)。

詳しくはOctoStudioのホームページをご覧ください。

必要なスクリプトと背景

牛:スプライトのスクリプト

初期設定のスクリプト

旗をタップすると、牛スプライトはX座標=150、Y座標=100に瞬間移動する。

※座標の値はをタップして設定してください。

「左に動く」メッセージを受け取ったときのスクリプト

「左に動く」メッセージを受け取ると、牛スプライトは左方向を向いて、左に普通のスピードで50ピクセル動く。

「右に動く」メッセージを受け取ったときのスクリプト

「右に動く」メッセージを受け取ると、牛スプライトは右方向を向いて、右に普通のスピードで50ピクセル動く。

左コントローラー:スプライトのスクリプト

初期設定のスクリプト

旗をタップすると、左コントローラーのスプライトはステージに一瞬で表示される。

左コントローラーをタップときのスクリプト

ステージの左コントローラースプライトをタップすると、「左に動く」メッセージをすべてのスプライトに送信する。

※このメッセージを牛スプライトが受信すると、牛スプライトの「左に動く」メッセージを受け取ったときのスクリプトにより牛が左に動くようになります。つまり、左コントローラーをタップすると、牛スプライトが左に動くようになります。

「ゲーム終了」メッセージを受け取ったときのスクリプト

「ゲーム終了」メッセージを受け取ると、左コントローラーのスプライトは一瞬でステージから姿を消します。

※「すべてを止める」ブロックによりゲーム終了にした場合でも、ハットブロックによるスクリプトは有効になってしまいます。そのため、ゲーム終了後に牛を操作するこのコントローラーを非表示にして、ゲームを継続できない設定にしました。

右コントローラー:スプライトのスクリプト

初期設定のスクリプト

旗をタップすると、右コントローラーのスプライトはステージに一瞬で表示される。

右コントローラーをタップときのスクリプト

ステージの右コントローラースプライトをタップすると、「右に動く」メッセージをすべてのスプライトに送信する。

※このメッセージを牛スプライトが受信すると、牛スプライトの「右に動く」メッセージを受け取ったときのスクリプトにより牛が右に動くようになります。つまり、右コントローラーをタップすると、牛スプライトが右に動くようになります。

「ゲーム終了」メッセージを受け取ったときのスクリプト

「ゲーム終了」メッセージを受け取ると、右コントローラーのスプライトは一瞬でステージから姿を消します。

※「すべてを止める」ブロックによりゲーム終了にした場合でも、ハットブロックによるスクリプトは有効になってしまいます。そのため、ゲーム終了後に牛を操作するこのコントローラーを非表示にして、ゲームを継続できない設定にしました。

炎(ターゲットアイテム):スプライトのスクリプト

初期設定のスクリプト

変数「得点」を「0」にリセットし、炎(ターゲットアイテム)スプライトはX座標=「0」から「320」のいずれか、Y座標=「100」の場所に瞬間移動する。

※炎スプライトのY座標(縦の位置)は「100」に固定されますが、X座標(横の位置)はステージの左端から右端のいずれかの場所に現れるようになります。

当たり判定のスクリプト
  1. 炎スプライトが牛スプライトに触れると、以下の処理2-6が実行される。
  2. ステージから姿を消す。
  3. 牛の音を鳴らす。
    ※引数をでなくにしているので、牛の音が鳴り終わってから、次のブロックが実行されます。
  4. 変数「点数」の値が「10」増える。
  5. X座標=「0」から「320」のいずれか、Y座標=「100」の場所に瞬間移動する。
  6. 炎スプライトは再びステージに姿を現す。

ゲーム終了のスクリプト
  1. 旗がタップされてから「30」秒後に、メッセージ「ゲーム終了」をすべてのスプライトに送る。
    ※旗をタップしてからゲームが開始され、「30」秒経過したらゲームを終了させるため、メッセージ「ゲーム終了」をすべてのスプライトに送付しています。そして、このメッセージを受け取った左右コントローラーは、ステージから姿を消すので、プレイヤーはゲームが牛を操作できなくなりゲームは終了となります。
  2. ステージに「ゲーム終了」という文字を「2」秒間表示させる。
  3. すべてのスプライトの実行中のスクリプトを停止する。
    ※ずっと繰り返すブロックなどで実行中のスクリプト(ひよこのが左右に動くスクリプト)はストップしますが、左右コントローラースプライト内に作った「タップしたとき」スタートするハットブロックは動作してしまいます。

ひよこ(敵キャラ):スプライトのスクリプト

初期設定のスクリプト

旗をタップすると、ひよこ(敵キャラ)はX座標=「0」から「320」のいずれか、Y座標=「100」の場所に瞬間移動する。その後、X座標=「0」から「320」のいずれか、Y座標=「100」の場所に遅いスピードで移動する動作を繰り返す。

※炎スプライトの終了のスクリプトにより実行される「全てを止める」ブロックが実行されると、このスクリプトが停止し、ひよこは左右に動かなくなります。

当たり判定のスクリプト
  1. ひよこ(敵キャラ)スプライトが牛スプライトに触れると、以下の処理2-6が実行される。
  2. ステージから姿を消す。
  3. 鳥の音を鳴らす。
    ※引数をでなくにしているので、鳥の音が鳴り終わってから、次のブロックが実行されます。
  4. 変数「点数」の値が「15」減る
  5. 「3」秒間スクリプトの事項を待つ。
  6. 炎スプライトは再びステージに姿を現す。
    ※ひよこ(敵キャラ)が牛に触れると、消えて音を鳴らし点数が15点減り、その3秒後に再びステージに姿を表します。

 

OctoStudioとは?

MITメディアラボ Lifelong Kindergartenグループによって開発された無料モバイルコーディングアプリです。

スマートフォンやタブレット上でアニメーションやゲームをつくることができます。 写真を撮ったり、音を録音して、ブロックでコーディングすることができます。またプロジェクトを友達や家族に送ることもできます。

スマートフォンやタブレットに対応しており、パソコンは非対応です(2024年時点)。

詳しくはOctoStudioのホームページをご覧ください。