スクラッチ

【スクラッチ】シューティングで敵の弾をつくる方法【画像たっぷり】

ブロックを組み立てるようにプログラミングできる『スクラッチ(scratch)』。

さぁなんのゲームを作ろうかとなった時に、おそらく人気ナンバーワンと思われるのが、

グラディウスなどでおなじみの『シューティングゲーム』。

今回は、『シューティングゲーム』の中でも『弾のつくりかた』をまとめています。

アオキ
説明の都合上、画面左から右に『弾(たま)』を発射するようにします。

※後ほど画面右から左、画面上から下も解説します。

Sponsored link

スクラッチでシューティング 準備

準備という事で、『キャラクター』と『弾(たま)』を用意しておきます。

今回は、敵の弾でこのフリー素材サイトから『エフェクト』で検索して持ってきました。
ぴぽや倉庫

『キャラクター』は、

今回は『fire』というメッセージを送るようにしました。

まずはこれでOK。

『弾(たま)』の方は、
緑の旗がクリックされたら、ひとまず隠しておきます。

スクラッチでシューティング 基本編 1つの弾を発射してみる

ここがポイントなんですが、
『fire』を受け取ったときに、
『弾(たま)』を動かすんじゃなくて、

『自分自身のクローン』をつくるようにします。

『クローンされたとき』というブロックを使い、つないでいきます。

  1. 『クローンされたとき』
  2. 『キャラクター(今回はdragon)』の場所にいって
  3. 表示させて
  4. ずっと右の方向に動かしつつ
  5. もし端に触れたら
  6. クローンを削除

という流れになっています。

うまくいくとこんな動きになります。

Sponsored link

画面右から左に発射させる場合

『キャラクター』・・向きを左右のみにして、向きを『-90』にします。

『弾(たま)』・・向きを『-90度』にして、『端に触れた』ら消えるようにします。

アオキ
注意点として、マイナスが全角になっているとうまく動かないので、半角で設定するようにしてください。

向き、角度の参考記事

画面上から下に表示させる場合

『弾(たま)』・・向きを『180度』にして、『端に触れた』ら消えるようにします。

向きを調整することで、

  • 画面左から右
  • 画面右から左
  • 画面上から下
  • 画面下から上

どの方向にも『弾(たま)』が発射できるようになります。

Sponsored link

スクラッチでシューティング 『弾』の発射 割り算で計算する

この方法で『弾(たま)』を発射することはできるのですが、

小さなクリエイター
『弾(たま)』を2つ同時、3つ同時に出したいんです。

というリクエストが来たとしたら、

果たしてどの向きに『発射』すればいいのか・・

となってしまいます。

『弾(たま)』を2つ同時、3つ同時に出すにはどうしたらいいかというと、

『割り算』を使うことで、向きが計算できます。

どういうことかというと、

例えば今回は、1つの『弾(たま)』を90度に向けて発射しています。

  • 180度を1で割る・・180度のまま
  • 180度を2で割る・・90度

ということで、180を2で割れば、発射したい方向がもとまります

コードはこうなります。

発射ししたい数 + 1 で割る、ということですね。

アオキ
これを応用すれば、弾をいくつでも同時に発射できるようになりまっせ。

スクラッチでシューティング 『弾』を2つ同時に発射する

『弾(たま)』を2つ以上同時に発射するには、
『割り算』を使えばいいのですが、
もう少しだけコツがいります。

流れとしては以下になります。

  1. 計算する角度を0にする・・初期化
  2. 角度を計算する
  3. クローンをつくる
  4. クローンごとに向きを決める
  5. 全てのクローンをつくった後に、同時に動かす

別記事で花火を作った時も同じような流れなので参考にしてみてください。

参考記事

全体のコードはこんな感じです。

2つ同時、3つ同時、4つ同時と後からでも変えやすいように、『変数』をつくっておきます。

  • 変数・・文字や数値を入れておく箱。中身を変更できる

今回は、

  • 『角度の変化』
  • 『弾の角度』

という2つの変数をつくりました。

  • 『角度の変化』・・弾と弾の間の角度
  • 『弾の角度』・・弾自体の角度
  1. 計算する角度を0にする・・初期化
  2. 角度を計算する
  3. クローンをつくる

のコード部分が以下です。

クローンを全て作った後に『発射』メッセージを送るようにしています。

4.クローンごとに向きを決める

のコードはこうなります。

5.全てのクローンをつくった後に、同時に動かす

がこんなコードになります。

発射メッセージを受け取ったときに、
全てのクローンを同時に向きの方向に動かしています。

もう一つ。

スクラッチでは計算がちょっと遅いのか、
1秒間隔だとうまく角度の初期化がされなかったので、
間隔を1.5秒くらいにしておきます。

うまくブロックが組めるとこんな動きになります。

Sponsored link
アオキ
『変数』を使うのはちょっと慣れが必要かもです。

3つでも4つでも5つでも

同じ流れで、

弾の向きを 180 割る 4 ・・45度ずつ

として、

3回繰り返せば、3発同時に発射できます。

弾の向きを 180 割る 5・・36度ずつ
で4回繰り返せば、4発同時に発射できます。

弾の向きを 180 割る 5 ・・30度ずつ
で5回繰り返せば、5発同時に発射できます。

5発同時に発射するとこんな動きになります。

スクラッチでシューティング まとめ

変数を使うところと、
角度を割り算で計算するところは、

はじめはちょっと慣れが必要かもと思いますが、

使っているうちに感覚がわかってくるんじゃないかなと思います。

同じようなコードで、2発、3発、4発、5発と発射できるので、

『関数』をつくるともっとスッキリつくれるかなと思うので、

いずれ記事にしたいと思います。

アオキ
いずれシューティングゲームしっかりつくりたいなぁ(なかなか時間がとれておりまへん・・

『スクラッチ』ではこんな記事も読まれています。

1. 【スクラッチ】でシューティングゲームのかんたんなつくり方

2. 【スクラッチ】ジャンプをする方法〜3ステップでジャンプできるようになる〜

3. 【スクラッチ】角度や回転を使う方法【動画】【初心者向け】

4. 【スクラッチ】で花火をつくる方法【動画あり】【初心者向け】

5. 【スクラッチ】シューティングで敵の弾をつくる方法【画像たっぷり】

6. 【スクラッチ】でセーブする方法を考えてみる〜基本的な考え方〜

7. 【スクラッチ】でマリオ風の横スクロールアクションゲームを参考にいいとこ取りしてみる

8. スクラッチ(scratch)とマインクラフト(minecraft)を連携させて子ども向けプログラミングのネタを増やしてみた

9. 【スクラッチ】時間が経つと敵が増えて難しくしたい、というリクエストを叶えるために

10. 【スクラッチ】で【三角関数】の使い方をわかりやすくまとめてみた

↓↓ スクラッチのその先へ ↓↓

1. パソコンのキーボード練習の4つのステップをまとめてみた

2. プログラムで数学も身につく 一石四鳥なクリエイティブコーディング

3. 【三角関数】の使い方〜わかりやすさ重視でまとめてみた【動画あり】

アオキ
ツイッターでも記事ネタ含めちょろちょろ書いていくので、よろしければぜひフォローお願いしますm(_ _ )m

アオキのツイッターアカウント


関連記事一覧 (一部広告あり)

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


最近の記事

アーカイブ

  1. 生成AI

    Dify講座をリリースしました【非エンジニア向け】
  2. オンライン教材

    ChatGPTをビジネス活用する講座をリリースしました【Udemy】
  3. オンライン教材

    【React】初心者向け講座をリリースしました【MUI】【Udemy】
  4. バックエンド

    【Laravel第4弾】Vue.js3(CompositionAPI+Scrip…
  5. データベース

    MySQLの講座をリリースしました
PAGE TOP
Ads Blocker Image Powered by Code Help Pro

広告ブロックを摘出しました!!

ブラウザ拡張を使用して広告をブロックしていることが摘出されました。

ブラウザの広告ブロッカーの機能を無効にするか、
当サイトのドメインをホワイトリストに追加し、「更新」をクリックして下さい。

あなたが広告をブロックする権利があるように、
当方も広告をブロックしている人にコンテンツを提供しない権利と自由があります。

Powered By
100% Free SEO Tools - Tool Kits PRO