- 1. スクラッチで順次処理を学ぼう!ネコを左右に動かすアニメーションの作り方【初心者向け】
- 2. スクラッチでネコが正方形に動くアニメーションの作り方|座標と向きの使い方
- 3. スクラッチでネコが左右にスケートするアニメーションの作り方|繰り返しの使い方
- 4. スクラッチでネコが走るアニメーションの作り方|コスチューム切り替えの使い方
- 5. スクラッチでネコがランダムな速さで走るアニメーションの作り方|乱数の使い方
- 6. スクラッチでロケットを矢印キーで動かす作り方|条件分岐の使い方
- 7. スクラッチで重力ゲームの作り方|もし〜なら・でなければブロック入門
- 8. スクラッチでスプライト同士がメッセージを送り合う作り方|みんなであいさつ
- 9. スクラッチでキャラが順番に集合するアニメの作り方|みんな集合
- 10. スクラッチで分裂するネコのアートの作り方【クローン入門】
- 11. スクラッチでネコの分身を飛ばす作り方【クローン入門】
- 12. スクラッチで音付きアニメーション!2台の車が走り抜ける作り方
- 13. スクラッチでペン拡張機能のスタンプを使った星のランダムアートの作り方
- 14. スクラッチのペン拡張機能を使って正三角形を描く方法と外角の仕組みを解説
- 15. スクラッチで足し算プログラムの作り方【変数と聞いて待つブロック入門】
- 16. スクラッチでサイコロシミュレーターの作り方│乱数とリストを使いこなそう
- 17. スクラッチでリスト操作11種類を完全マスターする作り方|宇宙船クルー名簿チュートリアル
- 18. スクラッチでペンとブロック定義を使った三角形・四角形の描き方
- 19. スクラッチでリンゴキャッチゲームの作り方!矢印キーとタイマーのアクションゲーム
- 20. スクラッチでネコ追跡ゲームの作り方|マウスで逃げ切る30秒サバイバル
- 21. スクラッチで攻撃シューティングゲームの作り方|クローンと確率でバトル設計
- 22. スクラッチで5秒ぴったり当てゲームの作り方|タイマーと入れ子条件分岐を学ぼう
- 23. スクラッチでカスタムブロック(関数)の作り方|足し算・引き算ツール入門
- 24. スクラッチで宇宙シューティングゲームの作り方|スコアで激化する難易度システム
- 25. スクラッチで全方向シューティングゲームを作ろう!魔法少女とスライム迎撃バトル
- 26. スクラッチで潜水艦シューティングゲームの作り方|魚雷を撃って敵を倒そう
- 27. スクラッチで鳥避けフライトゲームの作り方|カラスを避けて荷物を集めよう (いまここ)
さぁ、スクラッチでナニ作る!?
動画で見てみよう
チュートリアルの元になった作品
今回の目標
スターター作品をリミックスしよう
このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード
#1ドローンの初期化
準備
スプライト「ドローン」を開く
ドローン| スプライトについて |
|---|
| プレイヤーが操作するドローン。スペースキーで上昇し、放すと降下する |
| どんな役割か |
| プレイヤーが操作するドローンを作るよ!スペースキーを押すと上に動いて、離すと下に落ちる。荷物を集めてスコアを稼ごう! |
変数「★配達数」を追加
荷物を受け取った回数(スコア)。カラスの出現頻度や移動速度にも影響する
実装
が押されたときでスタートしたら、スコアとなる「★配達数」を0にリセットしてステージに表示する。ドローンの大きさは30%にセットするよ。
スコアを常に画面に出しておくと、プレイヤーが「あと何個で記録更新だ」って意識するようになるんだ。ゲームのモチベーション設計としてけっこう効いてくる。
#2ドローンの操作
ずっとの中でもし ( ) ならでなければを使って、スペースキーが押されていればY座標を+10、離していれば-10。常に落下する力が働いていてスペースキーで浮上する、Flappy Bird型の操作感覚だよ。
このタイプの操作は押すタイミングと長さがすべて。シンプルだけど、ちょうどいい高さをキープするのがだんだん難しくなっていく仕組み。
#3BGMの設定
音量を ( ) %にするで音量を20に下げてから、終わるまで ( ) の音を鳴らすで「Eggs」をずっとループ再生するよ。音量が控えめなのは回収音やゲームオーバー音とかぶらないようにする配慮。これで配達ドローンフライトの完成!
BGMはループ再生だから曲の切れ目がなくて、プレイ中ずっと一定のテンションを保てるよ。ゲームの空気感を作る縁の下の力持ちだね。
#4画面端のワープ
Y座標が175を超えたら( ) 秒でx座標を ( ) に、y座標を ( ) に変えるで0.3秒かけて下(y:-130)へ、-175を下回ったら上(y:130)へ滑らかに移動させる。瞬間移動じゃなくてグライドだから、ワープしたことがプレイヤーにちゃんと伝わるよ。
瞬間ワープにすると「今どこに飛ばされた?」って混乱しがちだけど、グライドを挟むことで移動の過程が見えるんだ。ちょっとした演出で操作の気持ちよさが変わってくるよ。
#5雲の生成
準備
スプライト「雲」を開く
| スプライトについて |
|---|
| 背景をスクロールする雲。クローンを生成して画面右から左へ流れる |
| どんな役割か |
| 流れる雲の背景を作るよ!大きさと透明度がバラバラな雲が右から左へ流れていって、空らしい雰囲気を演出するよ! |
実装
本体は隠すで隠して、ずっとでクローンを生成し続ける。間隔は0.5〜3秒のランダムで、雲がまばらに現れる自然な空を演出するよ。
#6雲の初期配置
クローンされたときでクローンが生まれたら、画面右端(x:240)のランダムな高さに配置して最前面に移動させるよ。
ここで大きさを70〜150%のランダムにするのが重要。この大きさの値が次のステップで透明度と速度の計算にそのまま使われるんだ。ただの見た目のバラつきじゃなくて、雲の「距離感」を1つの数値で表現する準備。
1つの数値から複数の性質を導き出すって、ゲーム制作でよく使われる考え方だよ。次のステップでこの値がどう活きるか見てみよう。
#7雲の透明度
( ) の効果を ( ) にするで「幽霊」効果を「大きさ mod 100」にセットする。大きさ130%なら幽霊30で少し透けて、80%なら80でかなり薄くなる。
#8雲の移動速度
#9荷物の初期設定
準備
スプライト「荷物」を開く
| スプライトについて |
|---|
| ドローンが回収する荷物。右から流れてきて、ドローンに触れると回収される |
| どんな役割か |
| 画面右から流れてくる荷物を作るよ!ドローンに当たったら回収されてスコアが増えるよ。配達数が増えると荷物のスピードも上がるよ! |
実装
が押されたときで本体を隠して大きさ30%にセット。最初に0.5〜1秒のランダム待機を入れて、ゲーム開始直後にいきなり荷物が出ないようにしてるよ。プレイヤーが操作に慣れる猶予を作ってる、地味だけどけっこう効くんだ。
#10荷物の生成ループ
初期設定の後、ずっとループで荷物クローンを生成し続ける。間隔は0.3〜0.5秒のランダムだよ。
雲(0.5〜3秒)と比べてかなり短い間隔だから、画面に常に複数の荷物が流れてる状態になるよ。「回収チャンスがたくさんある」って感覚を出してるんだ。
#11荷物クローンの初期化
音量を先にセットしてるのは、この後の回収時に効果音を鳴らすため。クローンごとに音量が独立してるから、生成時にセットしておけば統一されるんだ。
ゲーム中にクローンの音量がバラバラだと、プレイ体験がチグハグになりがち。こういう細かい統一がゲーム全体の完成度につながるよ。
#12荷物の移動と回収
移動速度はx座標を ( ) ずつ変えるで「-5 - ★配達数」。最初は-5でゆったりだけど、20個配達すると-25、50個なら-55になる。スコアが上がるほど荷物が速く飛んでくる仕組みで、もしこの加速がなかったら序盤も終盤も同じテンポで単調になってしまうから、回収の難易度がどんどん上がっていくよ。
( ) に触れたでドローンとの接触を判定して、触れたら効果音→「★配達数」を+1→クローン削除っていう流れ。左端を超えた荷物も消えるよ。回収するたびゲームが加速する——自分で自分の首を絞めていく感じがクセになるんだ。
#13カラスの初期設定
準備
スプライト「カラス」を開く
| スプライトについて |
|---|
| 障害物として右から飛んでくる鳥。ドローンに触れるとゲームオーバー |
| どんな役割か |
| ドローンの邪魔をするカラスを作るよ!右から飛んできて、ドローンに当たるとゲームオーバー。配達数が増えると出現間隔が短くなって、どんどん難しくなるよ! |
実装
回転方法を ( ) にするで回転方法を「左右のみ」に。カラスは右から左に飛んでくるから、逆さまにならないようにする設定。本体を隠して大きさ40%にして、0.5〜1秒待ってから出現開始するよ。
#14カラスの出現間隔
もし ( ) ならでなければで「★配達数」が40未満なら1〜5秒、40以上なら0〜3秒の間隔でカラスのクローンを生成するよ。
荷物のスピードが「1点ごとに連続的に」上がるのに対して、カラスの出現頻度は40をしきい値にしたステップ変化。2種類の難易度カーブが重なることで、ゲーム中盤に「急に忙しくなった」と感じるタイミングが生まれる。
ゲーム全体で見ると、序盤はゆるくて中盤からグッと難しくなるカーブになってるよ。この「いつの間にか難しくなってた」って感覚がリプレイ欲につながるんだ。
#15カラスの初期配置
カラスのクローンが生まれたら、画面右端のランダムな高さに配置して( ) 度に向けるで向きを-90度(左向き)にするよ。
荷物は向きの概念がないけど、カラスは明確に左を向いて飛んでくる。向きがあるだけで「こっちに向かってくる敵」感がぐっと増すんだ。
#16カラスの移動とゲームオーバー
( ) に触れたでドローンに触れたら効果音→ で全停止、これがゲームオーバーの瞬間だね。左端を超えたクローンは削除する。荷物が「触れたらスコア+1」なのに対してカラスは「触れたら即終了」——この対比がゲームの緊張感を生んでる。
回収アイテムと障害物で「触れたら」の結果が真逆になることで、1個多く取ろうと前に出るほどカラスのリスクも上がるっていうジレンマが生まれるんだ。
#17カラスの揺れと羽ばたき
別のクローンされたときスクリプトで、y座標を ( ) ずつ変えるに「-★配達数」から「★配達数」のランダム値を入れる。配達数0なら揺れなし、10なら上下10pxずつ、30なら上下30pxずつ。スコアが上がるほどカラスの軌道が読めなくなるよ。
まとめ
配達ドローンフライトゲームの完成!クローンを使った複数オブジェクト管理と、スコア変数を数式に直接埋め込む難易度設計が今回の核心だったね。mod演算で1つの値から複数パラメータを導き出す雲のパラレックスも、シンプルだけどかっこいいテクニック。ゲームが難しくなる仕組みを自分で設計できるようになったら、アレンジも楽しくなるよ!