- 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にリセットして、大きさを70%に設定。回転方法は「左右のみ」にしておくと、潜水艦が上下逆さまにならず左右だけ向きが変わるようになるんだ。
#2潜水艦の操作
ずっとの中でキー入力をチェックし続ける仕組みだよ。右向き矢印キーならx座標を10ずつ増やして向きを90度に、左向き矢印キーなら-10ずつ減らして向きを-90度にする感じ。
さらに爆雷に触れたかの判定もここに仕込んでおくんだ。爆雷はまだ作ってないけど、先に条件だけ準備しておくよ。
#3ゲームオーバー処理
( ) と ( ) 秒言うで「沈没…」と1秒間表示したあと、 の「すべてを止める」でゲーム全体をストップ。これでゲームオーバーの流れが完成。
#4魚雷の準備
準備
スプライト「魚雷」を開く
| スプライトについて |
|---|
| プレイヤーが発射する魚雷。Submarineのクローンとして生成され、上に向かって移動し、EnemySubに当たると命中数をカウントアップする |
| どんな役割か |
| 魚雷のスプライトを作るよ!スペースを押すとSubmarineの位置からクローンが飛び出して、上に向かってビューンと進むんだ。敵に当たったら爆発するようにしよう! |
実装
隠すで本体を隠しておいて、大きさは20%に設定。テンプレートを隠してクローンだけ画面に表示するのが、シューティングの弾を作るときの定番パターンみたいなもの。
#5魚雷の初期位置
クローンされたときでクローンが作られたら、まずプレイヤー潜水艦の位置に移動するよ。こうすると魚雷が潜水艦から発射されたように見えるんだ。回転方法は「自由に回転」にしておく。
#6魚雷の発射
準備
スプライト「プレイヤー潜水艦」を開く
実装
新しい が押されたときスクリプトを追加して、ずっとの中でスペースキーの入力を待つよ。押されたら魚雷のクローンを1個生成して、0.2秒のウェイトを入れる。この0.2秒が連射間隔になっていて、値を小さくするほど弾がたくさん飛ぶとか。
#7魚雷の飛行と命中判定
準備
スプライト「魚雷」を開く
実装
向きを-90度にセットして表示したら、ずっとの中でy座標を10ずつ増やして上に飛ばす。
#8当たり判定
#9端で消す
#10敵潜水艦の初期設定
準備
スプライト「敵潜水艦」を開く
| スプライトについて |
|---|
| ランダムに動く敵の潜水艦。画面上部を左右に移動し、定期的に爆雷を落とす。魚雷に当たると点滅する |
| どんな役割か |
| 敵の潜水艦を作るよ!左右にランダムで動き回って、一定時間ごとに爆雷を落とすようにしよう。魚雷に当たるとピカッと光るようにするよ! |
実装
x座標を ( ) 、y座標を ( ) にするで初期位置をx座標-300・y座標100にして、画面の左上あたりからスタートさせるよ。大きさは50%で、回転方法はプレイヤーの潜水艦と同じ「左右のみ」の設定。
#11敵の移動と被弾演出
ずっとの中で( ) 歩動かすに0から15の乱数を入れて、移動速度がランダムに変わるようにするんだ。端に着いたら跳ね返る。速度が毎回違うから動きが読みにくくなるのがポイントだね。
魚雷に触れたら( ) の効果を ( ) にするで「明るさ」を100にして白く光らせて、0.05秒後にまた0に戻すんだ。これを3回繰り返してピカピカっと点滅する被弾エフェクトの完成。
#12爆雷の準備
準備
スプライト「爆雷」を開く
| スプライトについて |
|---|
| 敵潜水艦が落とす爆雷。EnemySubのクローンとして生成され、ランダムに揺れながら下方向に落下する。Submarineに当たるとゲームオーバー |
| どんな役割か |
| 敵が落とす爆雷を作るよ!EnemySubの位置からランダムに揺れながら落ちてくるんだ。自分の潜水艦に当たったらゲームオーバーになるから、ちゃんと判定を作ろう! |
実装
魚雷のときと同じパターンで、隠すで本体を隠して大きさを30%に設定。クローンが実際に画面に登場するやつ。
#13爆雷の出現位置
クローンされたときで、敵潜水艦の位置に移動してから表示する。魚雷のときと同じ要領で、クローンが敵潜水艦の場所から出てくるように見えるんだ。
#14爆雷の落下パターン
ずっとの中でy座標を-15から-1の乱数で変えつつ、x座標も-10から10の乱数で変えるよ。普通なら真下に落とすだけだけど、縦と横の両方にランダム要素を入れることで毎回違う軌道になるのがこの作品の工夫。避けるのがかなり大変だよ。
端に触れたらこのクローンを削除するでクローンを消す。画面外に出た爆雷の片付けを忘れると、見えないところでクローンが溜まっていくから地味に大事みたいな。
#15爆雷の生成
準備
スプライト「敵潜水艦」を開く
実装
新しい が押されたときスクリプトで、ずっとの中に0から1.5秒の乱数ウェイトを入れてから爆雷のクローンを生成するよ。待ち時間がランダムだから、いつ爆雷が来るか予測できなくて緊張感が出る。
まとめ
4種類のスプライトを組み合わせて、本格的なシューティングゲームが完成したね!クローンで弾を連射する仕組みと、乱数で予測不能な動きを作るテクニック、どっちもいろんなゲームに使えるから覚えといて損なし。自分なりにアレンジして、オリジナルのシューティングにチャレンジしてみてね。