0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Scratch の Tips 2つを簡易にお試し(「擬似的なグリッド上にのみスプライトを置く」、「接触判定をするスプライトを変える」の 2つ)

Last updated at Posted at 2022-01-30

今回の内容

この記事は、以下の記事でたくさん書かれている Tips のうち、2つをできるだけシンプルなプログラムで試してみる、という趣旨のものです。

●Scratchで使える意外なテクニックいろいろ - Qiita
 https://qiita.com/Poteto143/items/7bf4ba7b06c7f63d4e7c

試してみた時のツイート

こちらは、この後に出てくるお試しをしていた時のツイートです。

試した内容

ここで、試した内容の補足などを書いていきます。

擬似的なグリッド上にのみスプライトを置く

1つ目は「擬似的なグリッド上にのみスプライトを置く」という内容で、元記事では以下のように掲載されているものです。
擬似的なグリッド上にのみスプライトを置く
マウスカーソルの位置をそのままスプライトの位置にするのではなく、そこから剰余演算を使った計算結果を減算して、一定間隔で離散的な値をとるようにする、というものでした。

こちらは、xy の両方の座標に適用するようにしつつ、剰余演算に用いる値を最初に変数で指定するような形にしました。
なお、位置を変更するブロックは、いっぺんに xy の両方を変えるものもありますが、分けたほうが見やすかったので、ブロックを分けました(コメントで補足していたりします)。
試したプログラム(擬似的なグリッド上にのみスプライトを置く)

接触判定をするスプライトを変える

2つ目は「接触判定をするスプライトを変える」という内容で、元記事では以下のように掲載されているものです。
接触判定をするスプライトを変える
通常、プルダウンで選択式になっている部分へ、文字列を設定できるブロックを入れてやればそれでも OK という仕様を使っているようです。

こちらは、ネコがバナナかリンゴに接触すると、特定条件で「こんにちは!」という言う、というものにしてみました。
特定条件というのは、タイマーの値を特定の数(以下の例では「6」)での剰余演算を行い、その結果で得られる数値の半分ずつ範囲を、条件分岐に用いるというものです。
試したプログラム用のスプライト(接触判定をするスプライトを変える)
試したプログラム(接触判定をするスプライトを変える)
上記の例の動きとしては、おおよそ 3秒ごとに、接触判定が行われる対象がきりかわる、というものになります(接触判定用のブロックの文字列を指定する部分は、変数を作って、スプライト名の文字列を格納しています)。

公開プロジェクト

それぞれの Scratch のプロジェクトを公開していますので、以下から試していただくことも可能です。

●「擬似的なグリッド上にのみスプライトを置く」
https://scratch.mit.edu/projects/636201802/

●「接触判定をするスプライトを変える」
https://scratch.mit.edu/projects/636204489/

おわりに

冒頭に書いていた記事は、まだまだ面白そうな Tips がいろいろ掲載されていたので、他のものも試していければと思っています。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?