今日のポイント
- スクラッチのバグ?を利用する
![サトシ先生](https://scratch.earth-shop.net/wp-content/uploads/10_common/2_character/1_satoshi/5_satoshi_point.png)
サトシ先生
自分のスプライトとの当たり判定をチェックしたいときってありますよね。実はスクラッチのバグを利用すると簡単にできるんですよ。
問題点
スクラッチには、自分自身に当たったかどうかを判定するブロックがありません。下図を使って説明します。
![collision-detection-with-yourself1](https://scratch.earth-shop.net/wp-content/uploads/20_articles/3_posted/code/game-tech/4216_collision-detection-with-yourself/collision-detection-with-yourself1-500x395.png)
ネコ(Cat)のスプライトで、自分自身と当たったかどうかを判定したいとします。自分のスプライトと当たったかどうか判定するために、「●に触れた」ブロックを使います。
青枠内の中からスプライトを選ぶのですが、「ネコ」のスプライトが存在しません。このように、自分自身との当たり判定をチェックするブロックはないのです。
解決策
しかし、解決策があります。「ネコ」のコードの中に、「ネコに触れた」というブロックはないのですが、他のスプライトのコードの中には「ネコに触れた」というブロックがあります。なんと、そのブロックをネコのスプライトにコピーして使うのです。
まず、ネコ以外のスプライトを選択します。ここではスイカを選択しました。スイカの中には、「ネコ(Cat)に触れた」というブロックがあります。
![collision-detection-with-yourself2](https://scratch.earth-shop.net/wp-content/uploads/20_articles/3_posted/code/game-tech/4216_collision-detection-with-yourself/collision-detection-with-yourself2-500x395.png)
このブロックを、ドラッグ&ドロップやコピー&ペーストするなどして、ネコのスプライトにコピーします。
![collision-detection-with-yourself3](https://scratch.earth-shop.net/wp-content/uploads/20_articles/3_posted/code/game-tech/4216_collision-detection-with-yourself/collision-detection-with-yourself3-500x395.png)
こうすることで、ネコのスプライトの中になかった「ネコに触れた」ブロックが使えるようになります。
![collision-detection-with-yourself4](https://scratch.earth-shop.net/wp-content/uploads/20_articles/3_posted/code/game-tech/4216_collision-detection-with-yourself/collision-detection-with-yourself4-500x395.png)
まとめ
今日のポイント
- 自分自身との当たり判定のチェックは、他のスプライトの「●に触れた」ブロックをコピペして使う
- ●には、「自分自身のスプライト名」が入ります
コメント