「ブロックを組んだのに、キャラが動かない」

「動きがカクカクして、重い」

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・画面の外・反対の動きもよくある原因
  • 重いでよくあるのは、クローンの増やしすぎ(出したら消す)
  • 端末・ブラウザが原因のこともある(ほかのタブを閉じる・再読み込み)
  • 原因が画面にエラーとして表示されないこともあるので、上から順にチェックするのがコツ

「動かない・重い」は不安になりますが、よくある原因から順番に確認していくと、原因を切り分けやすくなります。まずは緑の旗を押したか、そしてクローンを消しているか——ここから確認してみてください。

関連記事: