今回の内容
この記事は、以下の記事でたくさん書かれている Tips のうち、2つをできるだけシンプルなプログラムで試してみる、という趣旨のものです。
●Scratchで使える意外なテクニックいろいろ - Qiita
https://qiita.com/Poteto143/items/7bf4ba7b06c7f63d4e7c
試してみた時のツイート
こちらは、この後に出てくるお試しをしていた時のツイートです。
CoderDojo でメンターをやりつつ、以下の記事に書かれた内容を試してみてる。
— you (@youtoy) January 30, 2022
まずは、「擬似的なグリッド上にのみスプライトを置く」のお試し!
●Scratchで使える意外なテクニックいろいろ - Qiita
https://t.co/GfBgzwnqz9#Scratch pic.twitter.com/iE5GjVRcrE
CoderDojo でメンターをやりつつ、以下の記事に書かれた内容を試してみる、というものの第2弾。。
— you (@youtoy) January 30, 2022
「接触判定をするスプライトを変える」のお試し!
●Scratchで使える意外なテクニックいろいろ - Qiita
https://t.co/GfBgzwnqz9#Scratch pic.twitter.com/7ZJUq6U0w8
試した内容
ここで、試した内容の補足などを書いていきます。
擬似的なグリッド上にのみスプライトを置く
1つ目は「擬似的なグリッド上にのみスプライトを置く」という内容で、元記事では以下のように掲載されているものです。
マウスカーソルの位置をそのままスプライトの位置にするのではなく、そこから剰余演算を使った計算結果を減算して、一定間隔で離散的な値をとるようにする、というものでした。
こちらは、xy の両方の座標に適用するようにしつつ、剰余演算に用いる値を最初に変数で指定するような形にしました。
なお、位置を変更するブロックは、いっぺんに xy の両方を変えるものもありますが、分けたほうが見やすかったので、ブロックを分けました(コメントで補足していたりします)。
接触判定をするスプライトを変える
2つ目は「接触判定をするスプライトを変える」という内容で、元記事では以下のように掲載されているものです。
通常、プルダウンで選択式になっている部分へ、文字列を設定できるブロックを入れてやればそれでも OK という仕様を使っているようです。
こちらは、ネコがバナナかリンゴに接触すると、特定条件で「こんにちは!」という言う、というものにしてみました。
特定条件というのは、タイマーの値を特定の数(以下の例では「6」)での剰余演算を行い、その結果で得られる数値の半分ずつ範囲を、条件分岐に用いるというものです。
上記の例の動きとしては、おおよそ 3秒ごとに、接触判定が行われる対象がきりかわる、というものになります(接触判定用のブロックの文字列を指定する部分は、変数を作って、スプライト名の文字列を格納しています)。
公開プロジェクト
それぞれの Scratch のプロジェクトを公開していますので、以下から試していただくことも可能です。
●「擬似的なグリッド上にのみスプライトを置く」
https://scratch.mit.edu/projects/636201802/
●「接触判定をするスプライトを変える」
https://scratch.mit.edu/projects/636204489/
おわりに
冒頭に書いていた記事は、まだまだ面白そうな Tips がいろいろ掲載されていたので、他のものも試していければと思っています。