Scratchが動かない・重いときは?原因と直し方
「ブロックを組んだのに、キャラが動かない」
「動きがカクカクして、重い」
Scratch(スクラッチ=ブロックを組み合わせてゲームを作る、子ども向けのプログラミング)でよくあるつまずきです。しかも、動かない原因が画面にエラーとして表示されないこともあるので、原因が分かりにくいのがやっかいなところ。
でも大丈夫です。まず知ってほしいのは、「動かない」と「重い」は別の問題だということ。分けて考えると、原因がぐっと見つけやすくなります。
- 動かない=そもそも動きが始まらない・止まっている
- 重い=動くけれど、カクカク・もたつく
この記事では、それぞれの原因と直し方を、よくある順にチェックできるように整理しました。親子で、上から順に確認してみてください。
※キャラを動かす基本のブロックは【Scratchでキャラクターを動かす方法】で紹介しています。「そもそも動かし方から知りたい」ときはこちらもどうぞ。
まず切り分け:「動かない」と「重い」は別の問題
同じ「うまく動かない」でも、原因はまったくちがいます。
- 動かない:ブロックのつなぎ方や、動かす合図(イベント)が原因のことが多い
- 重い:スプライト(キャラ)やクローンの数、端末・ブラウザの状態が原因のことが多い
まずは「そもそも動き出さないのか」「動くけれど重いのか」を見分けましょう。ここが分かれば、あとは順番に確認するだけです。
💡 「スプライト」=Scratchのキャラクターや物のこと。「クローン」=スプライトのコピーを、プログラムで増やすしくみです。
【動かない】キャラが動かないときの原因
「動かない」ときは、作品のつくりに原因があることがほとんどです。上から順に確認してみてください。
① 緑の旗を押していない/合図がない
まず確認したいのがこれです。ブロックは「合図(イベント)」がないと動きません。
- プログラムの先頭が「緑の旗が押されたとき」などの合図(黄色いブロック)から始まっているか
- ゲームを始めるときに、緑の旗(🚩)を押しているか
合図のブロックがなく、動きのブロックだけがぽつんと置かれていると、いくら待っても動きません。
② 「ずっと」の外にある(1回で終わっている)
「10歩動かす」を1回だけ置くと、1回だけ動いて、そのあとは動きません。動き続けてほしいときは、「ずっと」(くり返し)の中に入れます。
緑の旗が押されたとき
ずっと
10 歩 動かす
くり返しのしくみは【Scratchの繰り返し(ループ)とは?】でくわしく説明しています。
③ 動く数(歩数)が0になっている
「( )歩動かす」の数が0だと、動きません。うっかり0になっていないか確認します。
④ キャラが画面の外に行っている
座標がずれて、キャラが画面の外にいることがあります。動いてはいるのに、見えないだけ——という状態です。
- 「x座標を0、y座標を0にする」で、いったん画面の真ん中に戻すと確認できます
- 座標のしくみは【Scratchの座標(x・y)とは?】が参考になります
⑤ ほかのブロックと打ち消し合っている
「右に動かす」と「左に動かす」が同時に動いていると、その場で止まって見えることがあります。同じスプライトに、反対の動きのスクリプトがないかを確認します。
【重い】動きがカクカクするときの原因
動くけれど「カクカクする・もたつく」ときは、処理が多すぎるか、端末・ブラウザが原因のことが多いです。
① クローンやスプライトが多すぎる
クローン(コピー)が増えすぎると、重くなることがあります。 とくに「ずっと」の中でクローンを作り続けると、どんどん増えて止まらなくなります。
- クローンは、使い終わったら「このクローンを削除する」で消す
- 画面に出しっぱなしのスプライトを減らす
わが家でも、ブロックがどんどん増えるゲームを作ったとき、増えたクローンを消さずにいて重くなったことがありました。「出したら消す」を意識すると、軽くなります。
② 「ずっと」の中に、待ちなしで重い処理が入っている
「ずっと」は、入っている処理を短い間隔で何度もくり返します。その中に重い処理(たくさんの計算や、見た目の変化)を入れると、もたつくことがあります。
- 必要に応じて「( )秒待つ」を入れ、くり返す回数を減らす
- 使っていない「ずっと」がないか見直す
③ 見た目の効果(エフェクト)を使いすぎている
「色」「渦巻き」などのグラフィック効果は、大量に使ったり、頻繁に変化させたりすると、動作に影響することがあります。使うところを絞ると軽くなります。
④ 端末・ブラウザが重くなっている
作品のせいではなく、端末やブラウザが重いこともあります。
- ほかのタブ・アプリを閉じる(動画やゲームを開いたままにしない)
- ページを再読み込みする(F5)/ブラウザを開き直す(※編集中なら先に保存を)
- 別のブラウザ(Chrome・Edgeなど)で試す
「ほかの作品や動画も重い」なら、端末・ブラウザ側の可能性が高いです。
一目でわかるチェックリスト
上から順に確認してみてください。
| 症状 | 確認すること |
|---|---|
| 動かない | 緑の旗を押した?合図のブロックはある? |
| 一瞬で止まる | 「ずっと」の中に入れた? |
| 動かない | 歩数が0になっていない? |
| 見えない | 画面の外に行っていない?(x0・y0で確認) |
| その場で止まる | 反対の動きが同時に走っていない? |
| 重い・カクカク | クローンを消している?出しすぎていない? |
| 重い・カクカク | ほかのタブ・アプリを閉じた? |
それでも直らないときは
上のどれでも直らないときは、次も試してみてください。
- 新しい作品を作り、動きのブロックだけで試す(新しい作品でも動かない→端末・ブラウザ側/新しい作品では動く→元の作品側、と切り分けられます)
- ページを再読み込みする(F5)/いったん閉じて開き直す(※編集中なら、先に保存を)
- 別のブラウザで開く(Chrome・Edgeなど)
- 学校のタブレットは、性能や設定で重いこともあるので、先生に確認する
まずは、「動かない」なら合図と「ずっと」、「重い」ならクローンや処理の量から確認してみましょう。あわてず、上から順に確認してみてください。
まとめ
- Scratchで「うまく動かない」ときは、まず「動かない」か「重い」かを切り分ける
- 動かないでまず確認したいのは、緑の旗(合図)の押し忘れと「ずっと」の外
- ほかに、歩数が0・画面の外・反対の動きもよくある原因
- 重いでよくあるのは、クローンの増やしすぎ(出したら消す)
- 端末・ブラウザが原因のこともある(ほかのタブを閉じる・再読み込み)
- 原因が画面にエラーとして表示されないこともあるので、上から順にチェックするのがコツ
「動かない・重い」は不安になりますが、よくある原因から順番に確認していくと、原因を切り分けやすくなります。まずは緑の旗を押したか、そしてクローンを消しているか——ここから確認してみてください。
関連記事:
- Scratchでキャラクターを動かす方法(そもそもの動かし方。動くブロックの基本はこちら)
- Scratchの繰り返し(ループ)とは?3つの使い分け(「ずっと」で動き続けるしくみ・クローンの注意)
- Scratchで音が出ない・鳴らない|原因と直し方(同じ「エラーが出ないから分かりにくい」困った系)
- Scratchで保存できない・ログインできない|原因と直し方(困った系の対処。あわせてどうぞ)