提供:Japanese Scratch-Wiki
このきじは ひらがなでよめます。ひらがなでよむ
もし端に着いたら、跳ね返る | |
もし端に着いたら、跳ね返る
| |
カテゴリ | 動き |
タイプ | スタック |
もし端に着いたら、跳ね返るブロック (動きブロック/スタックブロック)は、() 歩動かすなどの座標を変えるブロックを実行したときに、スプライトがステージの端に触れたかどうかを調べて、もし端に触れていた場合は、スプライトの向きをやって来た方向と逆にするブロックである。なお、この逆となる角度については、画面の端と直角になる線を基準に決定される。
この逆となる角度は、正確ではない場合がある。例えば、14度で右端にぶつかった場合、本来-14度になるはずだが、実際には-14.000000000000028度になる。1度で右端にぶつかった場合に至っては、本来-1度になるはずだが、-11.311610878420467度になってしまう。
使用例
- スプライトの一部がスクリーンから見えなくなるのを防ぐ(この用途では、直後に
() 度に向ける
ブロックを置いて、反射を止めるケースが多い) - 反射させる
- 「Pong(ポン)」のようなゲームで、スプライトを画面端で跳ね返らせる
@greenFlag が押されたとき::events hat ずっと もし端に着いたら、跳ね返る (5) 歩動かす
- Fishのようなゲームでも使用される
ずっと @turnright ((-10) から (10) までの乱数) 度回す (3) 歩動かす もし端に着いたら、跳ね返る (0.01) 秒待つ
跳ね返るブロック
Suggestion(提案)フォーラムでは、たびたびシンプルな「跳ね返る」ブロックを導入するよう要望が出されている。これは、スプライトが他のスプライトや色に衝突したときに跳ね返るというブロックである。(参照:[1][2][3](英語)) しかし、このような要望は「いろいろな形状の物体との跳ね返りを微積分なしで実現するのは不可能」という理由で却下されている。
出典
() 歩動かす • () 度回す • () 度に向ける • () へ向ける • x座標を () 、y座標を () にする • () へ行く • () 秒でx座標を () に、y座標を () に変える • () 秒で () へ行く • x座標を () ずつ変える • x座標を () にする • y座標を () ずつ変える • y座標を () にする • もし端に着いたら、跳ね返る • 回転方法を () にする • x座標 • y座標 • 向きその他のブロック
|