Scratch(スクラッチ)を始めて、1ヶ月近く経とうとしています。
本を参考にして、真似して作ってみたり、長男が考えた発明品?をスクラッチで商品紹介してみたり、色々なやり方で練習!
たくさんやっていくうちに、やはり思い通りに動かないことが出てきました。
特にわからなかったのが、〜に触れた時、点数を1上げる。という動作です。
参考に、作っていたもので説明します。
簡単なシューティングゲームです。
私は、この怪獣に玉が当たったら、点数を1上げるという動作を作りたかったのですが、玉のスプライトのコードに、もし〜ならのブロックに、〜に触れたならのブロックを重ね、変数のスコアを1ずつあげるブロックをくっつけました。
そしたら、なんと!全く動きません。。。
玉は動いて、怪獣に当たってるんですが、玉が怪獣に当たっても全く反応しないので、スコアも増えません。
完全スルー…参りました。
では、怪獣のコードの方で作ってみようと思い、怪獣コードへ。
さっきと同様にコードを作りましたが、全く反応しませんでした。
次に玉のコードにもし〜ならのブロックに、〜色に触れたならのブロックを重ねます。
怪獣さんは色にも反応しません…
また同じように怪獣コードでやっても反応しません。
じゃあ本を参考に作ってみよう!
本を参考にした結果
やっぱり玉は通り過ぎてしまいます。
あの手この手で、なんとか玉があったった時に点数が入るようにしたいと必死になって色々試しました。
調べたところ、制御のずっとというブロックともし〜ブロックが一緒じゃないと反応しないよ!というの見つけ、そのとおりに作ったら、今度は恐竜が動かなくなりました。。。
まぁずっとをさらにずっとで囲んでいるので、訳がわからなくなっているのでしょう。
でも、もし〜をずっとのコードで囲まないと動かないのは確かなようです。
試行錯誤の末…ついにできたのです!
何が問題だったのか?
全部一緒のブロックでつないででいたのが悪かったのかな?と思い、別々にしてみました。
怪獣が玉に触れた時のコードをまた別に作ることによって、点数は入るようになり、怪獣も玉も思い通りに動くことに成功したのです!
やったー!と喜びました。ほっとしました。
あとは、音を付けたりなんだりしてひとまず完成。
完成したのがこちら
玉も怪獣もランダムに動くようになってます。
たくさんの解決方法があるとは思いますが、私はこれで解決することができました。
簡易的ではありますが、なかなか苦戦しました、私のつまずきポイントでした。
コメント