プログラミングテクニック

【Scratch(スクラッチ)】迷路ゲームの作り方④暗闇モード

こちらでは、スクラッチで暗闇モードの迷路ゲームの作り方を紹介しています。

スクラッチ「迷路ゲーム(暗闇モード)」の中を見る

今回、プログラミングする迷路ゲームはこちらです。

こちらは、「【Scratch(スクラッチ)】迷路ゲームの作り方③センサー機能」でプログラミングした作品に暗闇モードを追加したちょっと難しい迷路ゲームです。

スポンサーリンク

迷路ゲームの改良手順

暗闇モードの追加するための、迷路ゲームの改良の手順は、以下の通りです。

  1. 「暗闇」のスプライトを作成する
  2. スプライト「暗闇」のプログラミング
  3. スプライト「暗闇」の大きさを調整する

「暗闇」のスプライトを作成する

まずは、新しいスプライト「暗闇」を作成するために、スプライトリストの「描く」をクリックします。

「ペイントエディター」の円ツールを選択して、以下の条件で、猫よりも二回りほど大きな丸を中心に作ります。

  • 塗りつぶし・・・なし
  • 枠線・・・壁の色と同色
  • 線の太さ・・・10

枠線を壁の色と同色にする必要がありますが、壁の色が分からない場合は、選択ツールを使って壁を選択してから枠線をクリックしましょう。

すると、以下のように現在設定されている壁の色が表示されます。

  • 色・・・0
  • 鮮やかさ・・・100
  • 明るさ・・・0

今回の例では、以下のようになっていますので、こちらの数値と同じようにスプライト「暗闇」の丸の枠線を設定します。

丸を作成したら、「ビットマップに変換」をクリックします。

ビットマップに変換されたら、「塗りつぶし」ツールを選択して、丸の周りを壁と同じ色で塗りつぶします。

ビットマップに変換した理由は、ステージ一面を塗るのに、ビットマップの「塗りつぶし」ツールを使うとラクだからです。

ベクターの「四角形」ツールを使えば、ステージ一面壁の色で塗りつぶすことができますので、どちらでやっても問題ありません。

塗りつぶしが終わったら、スプライトの名前を「暗闇」に変更しておきましょう。

これで、プレイヤーの周り以外が真っ暗で見えない暗闇のスプライトの完成です。

スプライト「暗闇」のプログラミング

次にスプライト「暗闇」のプログラミングをしていきます。

といっても、プログラムの内容はいたって簡単で、スプライト「猫」にくっついていくだけです。

スプライト「猫」に常にくっついていくプログラムを作るには、どのようにプログラミングすればよいでしょうか?

「常にくっつく」で思い出すことはありませんか?

これは、「【Scratch(スクラッチ)】迷路ゲームの作り方②センサー機能」のセンサーを使って壁判定をしたスプライト「猫」と同じプログラムです。

忘れた人は、もう一度確認しましょう。

覚えている人は、プログラミングに挑戦してください。

プログラミングできましたか?

常にくっついていくには、「〇へ行く」ブロックを使いましたよね。

こちらの〇にスプライト「猫」を選択すると、スプライト「猫」の位置へ移動します。

こちらが、スプライト「猫」に常にくっついていくプログラムです。

迷路ゲームのスタートは、緑の旗が押されたときをトリガーにしていましたので、「緑の旗が押されたとき」ブロックを使っています。

そして、「ずっと」ブロックの中に、「〇へ行く」ブロックを入れて、常にスプライト「猫」の位置へ移動するようプログラミングしています。

こちらで実際に緑の旗をクリックして、動作を確認してみましょう。

スプライト「猫」にスプライト「暗闇」が付いていくのを確認できます。

ただし、スプライト「暗闇」は、ステージの画面サイズと同じサイズのため、端に移動すると迷路の一部が見えてしまいます。

どのようにプログラミングすれば、端に移動してもスプライト「暗闇」で迷路を隠すことができるでしょうか?

ヒントは、スプライト「暗闇」の大きさを調整します。

それでは、考えてみましょう。

スプライト「暗闇」の大きさを調整する

プログラミングできましたか?

ヒントは、スプライト「暗闇」の大きさを調整といいましたが、大きさを調整するには、「大きさを〇%にする」ブロックがありました。

こちらを使って闇雲に大きさを調整するのではなく、まずは、どれぐらい拡大できるのは手動で確認していきましょう。

まずは、スプライトのパラメーター「大きさ」をありえないぐらい拡大させます。

今回は、「1000」と入力してどれぐらい大きくなるのか確認すると「150」と数値が変わりました。

つまり、今回作成したスプライト「暗闇」の拡大できる最大値が「150」ということです。

Scratchでは、コスチュームの最大サイズ、および最小サイズには制限があります。

最大・最小サイズは、元となるコスチュームのサイズに応じて異なっており、例えば、最初に自動的に作成されているスクラッチキャットでは5%~535%、ステージサイズでは1%~150%となります。

よって、スプライト「暗闇」はステージサイズで作成していたため、最大値「150」だったということです。

最大値「150」にしても、迷路を隠しきれていません。

この場合、コスチュームをステージよりも大きく作成すれば解決します。

まず、コスチュームを「ベクターに変換」をクリックして、ビットマップからベクターに変換します。

すると、ペイントエディターのキャンバスに薄い枠(斜め赤線範囲)が表示されました。

この薄い枠の範囲がステージよりも大きく作成できる範囲です。

スプライト「猫」を左上まで移動させて、隠しきれていない範囲を、「四角形」ツールを使って隠します。

これでもまだ右上の範囲が隠しきれていませんよね。

もう一度、「四角形」ツールを使って隠せば、右上にプレイヤーが来ても迷路を隠すことができました。

今度は、スプライト「猫猫」を右下まで移動させて、隠しきれていない範囲を、「四角形」ツールを使って同じように隠しましょう。

これで、どこに移動してもステージ全体をスプライト「暗闇」で隠すことができました。

ここで、注意しなければいけないのが、スプライトの大きさを「150」で維持することです。

一度、大きさを「1000」にしてみましょう。

すると、大きさが「104」までしか拡大できません。

大きさが「104」の状態で右上に移動すると、また迷路が見えてしまいました。

先ほども説明しましたが、大きさは最大サイズは、元となるコスチュームのサイズによって異なります。

先ほどはステージサイズの大きさだったので、「150」まで拡大することができましたが、修正したスプライトは、ステージの外にはみ出しているため、「104」までしか拡大することができません。

この状態から、どのようにプログラミングすれば、大きさ「150」に戻すことができるでしょうか?

ヒントは、サイズ調整用のコスチュームを用意することです。

それでは、考えてみましょう。

プログラミングできましたか?

ヒントは、サイズ調整用のコスチュームを用意することでしたので、まずは、サイズ調整用のコスチュームを作成します。

スプライト「暗闇」のコスチュームを選択して、「描く」をクリックします。

すると新しいコスチュームが作成されますので、コスチューム名を「サイズ調整用」に変更します。

このときのコスチュームのサイズは、「2×2」となっています。

つまり、画面サイズよりも小さいので余裕で大きさを「150」にすることができるということです。

コスチューム「サイズ調整用」を選択した状態で、大きさに「150」を入力してみましょう。

コスチューム「暗闇」の大きさが「150」になりました。

この状態で、コスチューム「コスチューム1」を選択します。

すると、大きさ「150」のまま切り替えることができました。

今回は、手動で設定しましたが、ユーザーが大きさを変更する可能性もあります。

そういったイレギュラーにも対応するために、プログラミングで初期設定するようにしておきましょう。

初期設定の前に、まずはコスチューム名を「暗闇」に変更しておきます。

それでは、どのように初期設定のプログラミングをすればよいでしょうか?

考えてみましょう。

プログラミングできましたか?

こちらが、大きさを「150」にする初期設定を追加したプログラムです。


コスチュームを〇にする」ブロックを使って、最初にコスチューム「サイズ調整用」に切り替えます。

コスチューム「サイズ調整用」の状態で、「大きさを〇%にする」ブロックを使って、大きさを150%にします。

最後にまた、「コスチュームを〇にする」ブロックを使って、コスチューム「暗闇」に切り替えたら初期設定の完了です。

これで、プレイヤーの周り以外が真っ暗で見えない「暗闇モード」の、ちょっと難しい迷路ゲームが完成しました。

こちらの迷路ゲームを実際に遊んでみましょう。

周りが見えないだけでも、道に迷いますよね?

アイデアをどんどん追加するしていけば、とても楽しい迷路ゲームを作ることができます。

次回は、プレイヤーが壁に触れると、スタートに強制的に戻される、更に難しい迷路ゲームの作り方を、解説していきます。

【Scratch(スクラッチ)】迷路ゲームの作り方⑤スタート地点に戻る
こちらでは、スクラッチで暗闇モードの迷路ゲームの作り方を紹介しています。 スクラッチプロジェクトの中を見る 今回、プログラミングする迷路ゲームはこちらです。 こちらは、「【Scratch(スクラッチ)】迷路ゲームの作り方③センサー機能」の作...