- スターター作品
- なし
- 今回の完成サンプル
- なし
さぁ、スクラッチでナニ作る!?
動画で見てみよう
[talk]チャンネル登録して応援よろしく!チャンネル登録する[/talk]チュートリアルの元になった作品
[prj-embed prj="1315325375" mini="1" title="プレイしておこう" prj-title="sb3_20260504095939" prj-author="ok-scratch"]今回の[prj-link prj="1315325375" title="sb3_20260504095939" author="ok-scratch"]スクラッチを作る参考作品[/prj-link]です。魔法使いが2つの数を聞いて、クルクル回転しながら「今まさに計算中」って演出したあと、マジックみたいに答えをどーん!と出してくれるのがヤバい。変数に入力を保存するロジックも、演算ブロックで足し算する仕組みも、全部「魔法使いが計算してる」という演出として自然に見えてくる。コードとキャラが一体化した設計の作り方、見ていこう。参考資料:スクラッチプログラミング事例大全集[/prj-embed]今回の目標
スターター作品をリミックスしよう
このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード
#1ウィザードの初期設定
[talk class="m-l-n"]今回はウィザードが主役で、ユーザーが入力した2つの数を足し算する「魔法プログラム」を作っていくよ。[/talk]準備
スプライト「ウィザード」を開く
| スプライトについて |
|---|
| ユーザーから2つの数を入力してもらい、足し算の結果を魔法として発表する魔法使いスプライト。コスチュームを切り替えながらアニメーションする。 |
| どんな役割か |
| 魔法使いが2つの数を聞いてきて、その合計を魔法みたいに発表してくれるよ!数字を入れたら、ぐるぐる回転してコスチュームも変わってかっこよく答えを教えてくれるんだ。 |
実装
まず
#2数の入力と変数への保存
[talk class="m-l-n"]ウィザードにセリフを言わせたあと、ユーザーから2つの数を聞き取って変数に保存するよ。ここが今回のメインの仕組み。[/talk]準備
変数「魔法の数1」を追加
ユーザーが最初に入力した魔法の数。足し算の1つ目の値として使用される
変数「魔法の数2」を追加
ユーザーが2番目に入力した魔法の数。足し算の2つ目の値として使用される
実装
ユーザーに質問するときは( ) と聞いて待つを使うよ。入力された値は「答え」に一時的に入るんだけど、次の質問で上書きされちゃうから、すかさず( ) を ( ) にするで「魔法の数1」「魔法の数2」にそれぞれ保存しておくのがポイント。
[talk]スクラッチの「答え」って、最後に聞いた入力しか覚えてないんだよね。つまり2回聞いたら1回目の答えは消えちゃう。変数は「名前をつけた保存箱」みたいなもので、自分で上書きしない限り中身が残り続けるから、聞いたらすぐ変数にコピーが鉄則なんだ。[/talk]
#3魔法の回転アニメーション
[talk class="m-l-n"]2つの数を受け取ったら、ウィザードが回転しながらコスチュームを切り替えて「計算中」の魔法演出をするよ。[/talk]( ) 回繰り返すで10回繰り返す中で、60度ずつ右回転しながらコスチュームも次々変わっていくんだ。( ) 秒待つを0.1秒入れることで、アニメーションが一瞬で終わらず目で追えるようにしているよ。
アニメーションが終わったら( ) 度に向けるで向きを90度にリセットしよう。これがないと、次に旗を押したときウィザードが変な方向を向いたままスタートしちゃうからね。
[talk]ここの( ) 秒待つの0.1秒を変えるだけで、アニメーションの速度が変わるよ。0.05秒にすれば倍速で回るし、0.2秒にすればゆっくり魔法をかける感じになる。繰り返し回数と待ち時間の組み合わせで印象がガラッと変わるから、いろいろ試してみると面白いよ。[/talk]
#4計算結果の発表
[talk class="m-l-n"]魔法の演出が終わったら、いよいよ足し算の答えを出すんだ。ここで演算ブロックの出番だね。[/talk]コスチュームをWizard-cに切り替えたら、( ) + ( )で「魔法の数1」と「魔法の数2」を足し算するよ。さらに( ) と ( )で計算結果と「が完成したぞよ」をくっつけて、ウィザードに言わせるんだ。
演算ブロックの中に演算ブロックを入れることで、計算と文字の結合を一発で表現できるのがスクラッチの面白いところ。次回もスクラッチの機能をどんどん使って、プログラミングの幅を広げていこう!
まとめ
これで魔法使いの足し算プログラム完成!変数を使って入力を保存しておく仕組み、意外とシンプルだったよね。「聞いて待つ」→変数に保存→演算→joinで表示という流れは、他のプログラムでも超使えるパターンだから覚えておいて。次回もスクラッチの新しい機能を使っていくから楽しみにしてね!