こんにちは、ECF Techブログ
担当 Michiharu.Tです。
今回はこれまでScratchプログラムを作ってきて感じた、プログラミングのポイントをプログラム例を挙げながら、紹介していきます。
「Scratchでこんな事をしたいけど、できなくて困っている」を少しでも助けられるといいかなと思っています。
思ったとおりに動かない!!
例1:数がふえない!!
まずは、思ったとおりに動かない時によくあるプログラム間違いをご紹介します。
スプライトをクリックしたら、変数得点が1ふえるプログラムです。ところがクリックしても動きません!!ということがしばしば起こります。
この原因は1が全角になっていることです。私も何度もハマったポイントです。半角の1に直しましょう。
例2:ねこちゃんがさかさま!
Scratchの基本ともいえるプログラムですが、動かすとこうなります。
ねこちゃんが逆さまです。これを修正するには、向きをクリックして、下の赤い囲みのボタンをクリックします。
例3:スプライトが消えた!!
このプログラムを実行し、ねこちゃんをクリックするとねこちゃんが消えます。再度実行しても消えたままです。どこへ行ったのでしょう。。。
ですが、動かすたびにこのボタンを直すのも大変です。なので実際にはプログラムで対応するのがベストです。
表示するが追加されています。ゲームなどのプログラムでは、スタートボタンが押されたら最初の状態にもどすプログラムを入れておくことが大事です。そうすれば、何度もスタートからゲームを始めることができます。この事を「初期化」といい、プログラミングの基本と言えるでしょう。
例4:矢印キーでスムーズに動かせない!!
こうすると手軽ですがあまりスムーズに動きません。スムーズな動きを作るにはこのようにします。
スタートボタンをクリックしたあと、左右の矢印キーを押してみましょう。ねこちゃんがスムーズに動くようになります。
例5:別のスプライトのうしろに隠れる
スクラッチでは、スプライトを動かすとそのスプライトが他のスプライトよりも前に出てきます。下のような感じです。
こんなとき、猫ちゃんを前に出すには見た目のグループにある下のブロックをクリックします。
ブロック置き場にあるブロックを直接クリックするだけでOKです。
ハマる前に知っておきたいこと
次はスクラッチのプログラミングでうまく動かない原因となりそうないくつかのトピックをご紹介したいと思います。
X座標・Y座標は小数点??
プログラムを動かすと、X座標が時々小数点の値になることがわかります。
実はX座標とY座標は小数点で情報を持っています。
なので、このまま計算に用いたりすると小数点の計算結果が得られることになりますので注意が必要です。
小数での計算を避けたい場合は、演算のブロックにある四捨五入などを使うと良いでしょう。
スプライト同士で値は送れない
これはどちらかというと通常のプログラミング経験がある方がハマりやすいポイントかもしれません。スクラッチではあるスプライトから別のスプライトに直接値を送ることができません。
たとえば、次のようにNanoというスプライトが自分のなまえを変数なまえに持っているとします。
この時、もう1つのスプライトになまえを伝えるには、このようになります。
変数つたえる文字はどのスプライトでも使える変数です。このように共通の変数を使って、値をわたす方法が基本になります。
おわりに
今回はここまでとさせていただきます。最後までありがとうございました。少しでもお役にたてる情報があれば幸いです。引き続き、私自身がハマったポイントやスクラッチ独特のプログラミングスタイルの話題が集まってきたら、提供していけたらと思います。