さぁ、スクラッチでナニ作る!?
動画で見てみよう
チュートリアルの元になった作品
今回の目標
スターター作品をリミックスしよう
このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード
#1肩パーツの準備
準備
スプライト「肩」を開く
| スプライトについて |
|---|
| ロボットアームの根元となる肩関節スプライト。d/aキーで左右に移動できる |
| どんな役割か |
| ロボットアームの根元を作るよ!d/aキーを押すと左右に動かせるよ。まずは肩から作ってみよう。 |
実装
が押されたときで座標を(-150, -50)にセット、コスチュームを「肩関節」にしてサイズを80%にするよ。画面の左下あたりにアームの支点が配置される感じだね。
#2肩の左右移動
ずっとの中で( ) キーが押されたを使ってDキーとAキーをチェック。Dなら+10、Aなら-10ずつx座標を変えることで、キーを押してる間だけ動く仕組みなんだ。
#3肘の追従設定
準備
スプライト「肘」を開く
| スプライトについて |
|---|
| ロボットアームの中間部分となる肘関節スプライト。常にShoulderの位置に追従し、マウスに向いて延びる |
| どんな役割か |
| 肩に追従する肘関節を作るよ!Shoulderにくっついてマウスの方向に向いて伸びる、アームの中間部分だよ。 |
実装
コスチュームを「肘関節」にしてサイズ80%。ずっとの中で( ) へ行くを使って、常にShoulder(肩)の位置に追従させるんだ。肩が左右に動くと、肘もぴったりくっついてくる仕組みだね。
#4肘の関節シミュレーション
( ) へ向けるでマウスポインターの方を向いて、( ) ( ) 度回すで左に30度回して、10歩前に進む。この「向ける→回す→動かす」の連鎖が関節シミュレーションの基本パターン。30度が関節の角度オフセット、10歩が肩から肘までの骨の長さに相当していて、もしこの角度オフセットがなかったら肘が肩の真正面にしか来ず、曲がった腕にならないんだよ。
#5クローの追従設定
準備
スプライト「クロー」を開く
| スプライトについて |
|---|
| ロボットアームの先端となるクロースプライト。Elbowの位置に追従し、マウスを追いかける。スペースキーでエフェクトを切り替える |
| どんな役割か |
| アームの先っちょのクローを作るよ!肘にくっついてマウスを追いかけて、スペースキーで色やぐるぐるエフェクトが切り替わるよ。 |
実装
肘のときと同じパターンで、コスチュームを「クロー閉」にしてサイズ80%にしたら、ずっとの中で( ) へ行くを使ってElbow(肘)の位置に追従させる仕組みだね。
#6クローのエフェクト制御
クローにスペースキーで切り替わるエフェクトをつけるよ。まず( ) へ向けるでマウスの方向を向かせてから、エフェクト制御に入るんだ。
もし ( ) ならでなければでスペースキーの押下状態を判定。押してる間は「色」の効果を+5、「渦巻き」の効果を+5ずつ毎フレーム変化させて、離したら画像効果をなくすで一括リセットするよ。押し続けるほどどんどん色が変わってグルグルして、離すとパッと元に戻る。
ここで使っている( ) の効果を ( ) ずつ変えるは累積するのがミソ。1フレームで+5、2フレームで+10って足し算されていくから、押し続ける時間が長いほど変化が激しくなるんだ。
#72関節アームの完成
( ) ( ) 度回すで右に30度回して、( ) 歩動かすで70歩進む。肘では左30度・10歩だったのが、クローでは右30度・70歩。回す方向が逆で距離も長いから、クローは肘から大きく離れた位置に伸びるんだ。
普通、マウスにスプライトを追従させるなら( ) へ行くと( ) へ向けるだけで十分じゃん。でもそれだと各パーツが独立にマウスを追うだけで、関節のつながりが表現できない。goto→point→turn→moveの連鎖があるからこそ、腕のリーチ制限や角度制約が自然に再現されるんだ。
まとめ
「向ける→回す→動かす」の連鎖パターン、バッチリ使いこなせたかな。この組み合わせを覚えておくと、触手とかヘビゲームとか、いろんな「くねくね動く」表現に応用できるよ。数ブロックで順運動学が再現できちゃうScratch、なかなかやるでしょ。どんどんアレンジしていこう!