Scratch(スクラッチ) 難易度★★★⭐︎⭐︎

Scratchのペンで黒板に落書きプログラム!(発展)

 

前回の基本編に引き続き、Scratch(スクラッチ)の「ペン」機能をご紹介します!

 

基本編がまだの方は、こちらの記事とビデオから始めてください。

Scratchのペンで書道&黒板に落書きプログラム!(基本)

  今回はScratchの拡張機能「ペン」を使ってみたいと思います。 また、画像をアップロードして背景やスプライトに使う方法もご紹介します。 書道もできるし黒板に落書きもできるニャア! ニャ ...

続きを見る

 

前回は黒板に字を描いてみましたが、消す時はスクリプトの「全て消す」を使いました。

今回は黒板消しがなぞったところだけ消せるようにします。

よりリアルな黒板消しになるニャア!

プログラム自体は難しくありませんが工夫が必要なので、考えながらやってみましょう。

 

どうしたら黒板消しで消せるようになる?

さて、黒板消しでなぞったところだけ描いた文字が消えるようにするには、どのようにすれば良いでしょうか?

ペン機能には「全て消す」はありますが、”通ったところだけ消す”スクリプトはありません。

でも使うのはペン機能です。

どうしたら良いのかニャア?

 

ニャアのヒント①

  1. "文字を消す"のは本当に消すわけでなく"見えなくする"と考えみましょう。
  2. 使うスクリプトは「ペンを下ろす」です。

 

ここで発想の転換が必要です。

描いたものを部分的に消すことはできないので、上から塗りつぶして見えなくするという方法で考えてみましょう。

ここで重要なのが塗りつぶす「色」です。

できるだけ自然に消しているように見せるには、どんな工夫が必要でしょうか?

確認してみましょう!

 

ポイント

  • 背景の「背景」タブを開いて編集画面に

  • 「塗りつぶし」の色をクリックし、黒板の色をスポイトで抽出する

  • その色で黒板を塗りつぶす(四角を描いて黒板全体に重ねる)

黒板の色で塗りつぶす(色の面を重ねる)

ちなみにこうして背景の色を均一にしておかないと黒板消しの線が残ってしまうので、ニャアはこうしました。

  • 黒板消しのスクリプトをこのように作る

ペンの色はスポイトで黒板の色と同じにしましょう。

スポイトは便利なんだニャア!

黒板消しで描いたものを消すスクリプトは、前回作ったチョークで字を描くスクリプトと、まったく同じなのがわかると思います。

 

では試しにチョークで何か描いて、それを消してみましょう。

Zキーを押している間だけ、黒板消しでなぞったところが消えるのがわかります。

実際には背景と同じ色で隠してるんだけど、消えてるように見えるニャア…!

ちなみに前回のスクリプトで「X座標を**,Y座標を**にする」に加えていた「ずっと」は外しましょう。

 

アレ、でもチョークと黒板消しが一緒に動いてしまいますね…!

これも一工夫して解決しましょう。

 

黒板消しとチョークを両方持ってしまうのを解消するには?

黒板消しで消している間はチョークを元の位置に固定しておくようにするのが簡単です。

でもどうしたら良いでしょう?

ニャアのヒント②

  1. 黒板消しはZキーを押している時に働くので、チョークにも「Zキーが押されたとき」のスクリプトを作りましょう。
  2. Zキーが押された時、チョークは「が押されたとき」と同じく定位置に戻るようにしましょう。

・・

・・・

さて、チョークのスクリプトはこんな風にしてはどうでしょう?

前回作った「が押されたとき」と「スペースキーが押されたとき」に続くスクリプトはそのままで、「Zキーが押されたとき」を新たに加えます。

ポイント

  • チョークのスクリプトに「Zキーが押されたとき」を追加
  • 「コスチュームをblueにする」を追加
  • 「X座標を** , Y座標を**にする」で「が押されたとき」と同じ座標を入力
  • 「ずっと」で囲む

が押されたとき」の後に「全て消す」を入れておけば、最終的にチョークの線も黒板消しの線もきれいに消えることになります。

最後に背景の注意書きも修正して、完了です!

もちろん自分の好きなキーや使いやすいキーにしてOKです。

 

今回は少し短めですが、この辺でおしまいにしたいと思います。

スクリプトの確認はこちらのプロジェクトページとビデオでどうぞ。

 

次回もお楽しみに!

 

ごきげんよう

 

-Scratch(スクラッチ), 難易度★★★⭐︎⭐︎
-, ,

error: Content is protected !!

© 2024 ニャアのスクラッチ Powered by AFFINGER5