コンテンツへスキップ

小学生のための簡単「アンダーテール」の作り方

最終更新日:2024年3月19日

今日のポイント

・枠の中だけしか移動できないようにする

ad-earth-shop-online

【はじめに】完成した作品を見る

アンダーテールは、アメリカ人の作曲家兼ゲーム開発者であるトビー・フォックス氏によってほぼ一人で開発されました。100万本以上の売り上げを記録した人気の作品です。こんなゲームが作れるようになりたいですね。

【考え方】作品の全体像を理解する

主なスプライト

このゲームで重要なスプライトについて説明します。

main-sprite

① スプライト「フレーム」のコスチューム

スプライト(ハートと敵の攻撃)が、フレームの外に出ないようにするために用意します。

under-tale1

スプライト「ハート」コスチューム

ハートは、プレイヤーのことです。上下左右に移動して、敵の攻撃から逃げます。敵の攻撃に当たるとHP が減っていき、ゼロになると「ゲームオーバー」になります。

under-tale2

スプライト「敵(トリエル)」コスチューム

under-tale3

④ スプライト「トリエルの攻撃」

トリエルの攻撃を3種類作成します。

トリエルの攻撃1
トリエルの攻撃2
トリエルの攻撃3

スプライト間のイベント

スプライトのイベントの関係を示した図です。「メッセージ」を出す側と、「メッセージ」を受け取る側をよく確認しておきましょう。

③「敵」が、「攻撃をする」メッセージを出します。攻撃のタイミングは「●秒待つ」や、「●を送って待つ」「●を送る」、の使い方で変わります。色々と試してみましょう。

program-flow

【プログラミング】してみよう

まずは、元になる作品をリミックスします。コスチュームや音などの素材が入っているよ。

sozai

変数を作成する

今回使用する変数は5個です。

No変数名変数の種類使い方どんな値が入る?
1HP変数
全てのスプライト用
プレイヤーの体力
0になるとゲームオーバー
0 ~ 100までの数字
2x座標の下限変数
全てのスプライト用
ハートの移動できる範囲
左側の限界
-240 ~ 240までの数字
スプライトのステージの範囲
3x座標の上限変数
全てのスプライト用
ハートの移動できる範囲
右側の限界
-240 ~ 240までの数字
スプライトのステージの範囲
4y座標の下限変数
全てのスプライト用
ハートの移動できる範囲
下側の限界
-180 ~ 180までの数字
スプライトのステージの範囲
5y座標の上限変数
全てのスプライト用
ハートの移動できる範囲
上側の限界
-180 ~ 180までの数字
スプライトのステージの範囲

すべてのプログラム

①「フレーム」のプログラム

上限や下限の値は、フレームの大きさによって変わります。みなさんの描いたフレームの大きさに合わせて、上下や下限の値を変えてくださいね。

program-frame

② 「ハート」のプログラム

program-heart
program-heart2
program-heart3

③ 「敵(トリエル)」のプログラム

program-torieru

④ 「トリエルの攻撃1」のプログラム

攻撃は3種類用意していますが、この記事では攻撃1のプログラムだけを紹介します。他の攻撃のプログラムを見たい人は、リミックスして中身を確認してみてください。

program-attack1

【リミックス】してみよう

敵の攻撃パターンなどを追加して、好きなように改造してみよう。

scratch

ワンポイントアドバイス

右に移動するときのプログラムを考えてみましょう。横方向の位置を決めるものを x座標、縦方向の位置を決めるものを y座標といいます。よって、右の移動は、x座標が関係します。

右に移動するときに大事なのは、フレームの右端を超えないようにすることです。フレームの右端は「x座標の上限」の値です。

program-heart01

ハートが 「x座標 = 185」の位置にいたとします(上図)。 この状態で右に移動すると、x座標が 10 変わるので「x座標 = 195」になります。これは「x座標の上限」を超えた値、つまりフレームからはみ出した状態です。フレームからはみ出さないように、「x座標 = x座標の上限(190)」に戻します。

このプログラミングが理解できれば、上・左・下も同じようにプログラミングすることができます。

よくある質問

Q1. 同じようにプログラミングしたのに、フレームを超えて移動してしまいます

コスチュームが中心に配置されていないためだと思います。下図のように、①「コスチュームの x座標と y座標の値を 0」にして、②「画像を中心に移動」させてみてください。

costume

まとめ

・枠の中だけしか移動できないようにする
  ⇒ x座標の上限や下限を使って、それを超えないようにプログラミングする

その他の人気ゲームの作り方

最終更新日:2024年3月19日

広告

最終更新日:2024年3月19日

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA