scratchスクラッチが重い場合の対処

私共ぱそんこのプログラミング教室でも最近スクラッチが重くなり、子供達の書いたプログラムが動かないことがよくあります。CPUやメモリの負担も大丈夫なのにスクラッチだけが正常に動かなかったり、ブラウザ自体がフリーズしてしまうことがあります。今回はその対応策をご案内します。

1.画像をベクターデータからビットマップに変換する

子供達がスプライトのコスチュームをベクターデータで描写していた場合に消しゴムなどの影響でイラスト自体が重い可能性があります。1つでは問題のないベクターデータでも30個程度のスプライトができた場合かなり重くなる時があります。

画像の赤枠で囲まれた記述が”ビットマップにへんかん”となっている場合、現在コスチュームがベクターデータであることがわかります。ベクターデータは編集が用意で手足などパーツごとの移動や色変えが可能ですが、ビットマップに変更すると全てのパーツは一つとして扱われるので注意が必要です。
また画質の劣化もあるため綺麗なイラストを使用した場合は適しません。

一度ビットマップにへんかんしたデータは比較的にもとのものより軽くなるため、再度ベクターデータに直してもかまいません。が、パーツごとの再編集はできないのでご注意ください。

2.指定している値が大きすぎるまたは小さすぎる

児童に数値を選んでもらっていると指定する値を膨大な数字にしたり、もしくは細かすぎることが多々あります。
一つ一つでは動くのですが、その数が膨大になりプロジェクト自体が重くなります。

上記のような無理な桁のブロックそもそも動かないことが多いですが、ギリギリで動いてしまう桁のブロックだった場合にプロジェクト自体が動かなくなります。
数値の指定の際には適度な数字を入力するように誘導することが適正です。
また、”ずっと”ブロックに含まれる数字が細かい場合にも処理が遅れてしまうことが多々あります。

このブロック自体は正常に機能しますが、細かい数字を永続的に実行させるブロックは全体が重くなる要因となっています。

3.使っていないブロックが稼働し続けている

スクラッチでは上記画像のように稼働しているブロックが黄色の枠で囲まれる機能があります。
実際には非表示になって画面上にはないスプライトでも”ずっとブロック”を使用していた場合使っていないブロックが動き続けてしまっていることがよくあります。
下記のようなブロックを組み終了したスプライトをしっかり終了するようにしましょう。

今回はパソコン起因ではないスクラッチの重くなる動作の解決方法をご案内いたしました^^
今後もどんどん情報を開示していきますので、各SNSのいいねやシェアのご協力をお願いいたします。

2件のコメント

  • この記事に関係ないのですが、「AまたはBまたはCまたはDまたは…」というようにするにはどうしたらいいでしょうか。

    • ご連絡ありがとうございます。
      「もし~なら」ブロックの条件を演算の「または」ブロックを連結させることでできます。
      他にも他方やり方があり、
      「もし~なら~でなければ」ブロックを連結することでも確認することができます
      AでなければBでなければCなど連結させることでいずれかの条件をとれます。
      時間のある時に記事もご用意しますのでこれからも旭川ICT教育のぱそんこをよろしくお願いいたします

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です