見出し画像

こどもと一緒にScratchでカードバトルRPGのゲームをつくってみました。

https://scratch.mit.edu/projects/651669172/

↑ここからプレイできます。もし「うわっ!なにか問題が発生しました」みたいなエラーが出てしまう場合は、ブラウザをリロードするとなおるときがあるようです。

作る時につまづいた点などをメモ代わりに残しておきます。


変数の中の数値を画面上に出したい

↑のような、Scratchのデフォルトの機能で変数の値をそのまま表示すればすぐ出せるんですが、画面上に好きなサイズの文字で表示したい場合は、仕組みが必要です。

スプライトのコスチュームに表示したい数字をぜんぶつくっておいて、

コードに↑のような感じで書くと、変数の中の数字とスプライトのコスチュームが連動します。+1してるのは、

コスチュームのスプライトの「0」の文字が、コスチュームの1番目に入ってるので、+1をすることで、合わせてます。(変数の値が0の時、コスチュームの1番目が表示される)

「旗が押されたとき」や「メッセージをうけとったとき」のイベントで、想定してない動作をする場合は「○秒待つ」を試してみる

プログラムコードが増えてくると、処理が重くなってくるので、並列で動く処理がうまくいかなくなってくる時が来ます。

たとえばプログラム開始時に変数に値をセットして、そのあとに画面に表示したい時、変数のセットよりも先に画面表示のコードが動いてしまって、うまくいかない時があります。(特に「旗が押された時」や「メッセージを受け取った時」に発生しがち)

こんな感じで、あやしいタイミングのところに「○秒待つ」を入れると治る時があるので、お試しあれ。

スプライトやコードのサイズが大きすぎるとWebに保存できない(プログラムを公開できない)

PCに保存する場合は特にサイズを考慮しなくても大丈夫そうですが、PCでの保存で開発を進めていて、いざWebに公開しようと思ったときに、スプライトやコードが大きすぎると、Webに保存することが出来ず、共有して公開することが出来ません。

↑のようなエラーが出てしまいます。


今回のプログラムの場合は、9.4MBだったものを7.8MBまで削減したら保存できました。(不要なスプライトを排除しました)

いざWebに公開しようという時に、このエラーが出てしまうと、コードが大きいのか、スプライトが大きいのか、具体的なエラーが表示されず問題の切り分けが大変になってくるので、共有して公開をしたい場合は、最初からサインインしてWebに保存してから開発を進めたほうが良さそうです。(Webに保存しても開発中は非公開にできます)

原因はわかりませんが、公開したページを開くと、読み込み時に「うわ!なにか問題が発生した。」というエラーが出る時がある

こんな画面です。ブラウザのメモリ不足かなにかでしょうか。今回のプログラムの場合はブラウザのリロードでなおるようです。エラーメッセージの内容から問題の理由は判別できなさそうなので、いろいろなケースがありそうです。

以上、つまづいたことなどのメモでした。どなたかの参考になれば幸いです。

この記事が気に入ったらサポートをしてみませんか?