- 1. スクラッチで順次処理を学ぼう!ネコを左右に動かすアニメーションの作り方【初心者向け】
- 2. スクラッチでネコが正方形に動くアニメーションの作り方|座標と向きの使い方
- 3. スクラッチでネコが左右にスケートするアニメーションの作り方|繰り返しの使い方
- 4. スクラッチでネコが走るアニメーションの作り方|コスチューム切り替えの使い方
- 5. スクラッチでネコがランダムな速さで走るアニメーションの作り方|乱数の使い方
- 6. スクラッチでロケットを矢印キーで動かす作り方|条件分岐の使い方
- 7. スクラッチで重力ゲームの作り方|もし〜なら・でなければブロック入門
- 8. スクラッチでスプライト同士がメッセージを送り合う作り方|みんなであいさつ
- 9. スクラッチでキャラが順番に集合するアニメの作り方|みんな集合
- 10. スクラッチで分裂するネコのアートの作り方【クローン入門】
- 11. スクラッチでネコの分身を飛ばす作り方【クローン入門】
- 12. スクラッチで音付きアニメーション!2台の車が走り抜ける作り方
- 13. スクラッチでペン拡張機能のスタンプを使った星のランダムアートの作り方
- 14. スクラッチのペン拡張機能を使って正三角形を描く方法と外角の仕組みを解説
- 15. スクラッチで足し算プログラムの作り方【変数と聞いて待つブロック入門】
- 16. スクラッチでサイコロシミュレーターの作り方│乱数とリストを使いこなそう
- 17. スクラッチでリスト操作11種類を完全マスターする作り方|宇宙船クルー名簿チュートリアル
- 18. スクラッチでペンとブロック定義を使った三角形・四角形の描き方 (いまここ)
さぁ、スクラッチでナニ作る!?
動画で見てみよう
チュートリアルの元になった作品
今回の目標
スターター作品をリミックスしよう
このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード
#1スプライトの初期化
準備
スプライト「ジオペン」を開く
| スプライトについて |
|---|
| ペンを使って三角形や四角形などの幾何学図形を描くスプライト |
| どんな役割か |
| ペンを使って三角形と四角形を描くスプライトを作るよ!動く距離と回転角度を組み合わせて、キレイな図形を自動で描けるようにしよう。「自分のブロック」を使ってコードを整理するのがポイントだよ。 |
実装
まず が押されたときでスタート。スプライトを表示して、x座標0・y座標0の画面ど真ん中に配置するんだ。向きは90度、つまり右向きにセットしておく。
こうやって最初にスプライトの位置や向きをリセットしておくと、何度旗を押しても同じ結果になる。初期化って地味だけどめちゃくちゃ大事な処理なんだよね。
#2ペンの準備
ここからペン拡張機能の出番。全部消すで前に描いた線を全部消して、まっさらな状態にするよ。
ペンを下ろすでペンを下ろしたら準備完了。ペンが下りた状態でスプライトが動くと、その軌跡が線として画面に残るんだ。
#3三角形の定義を作る
準備
カスタム定義「三角形を描く」を追加
ペンで正三角形を描く。100歩進んで120度左に曲がる動作を3回繰り返す
実装
ペンの準備ができたから、次は「三角形を描く」処理をまとめた自分だけのブロックを作るよ。定義 ( )で「三角形を描く」を定義するんだ。
中身は、0.5秒待ってから100歩動かすところからスタート。待ち時間を入れているのは、ネコが1辺ずつゆっくり描いていく様子をアニメーションで見せるため。
#4三角形の2辺目
( ) ( ) 度回すで120度左に回ってから、100歩動かしてもう1辺を描くよ。0.5秒の待ち時間を挟みつつ、さらにもう一度120度回転する。
なんで120度なのか?正三角形の内角は60度だけど、ネコが「次の辺の方向に向き直す」には外角にあたる120度だけ曲がる必要があるんだ。
#5三角形の完成
3回とも「100歩動かす→120度回す」というまったく同じ動作の繰り返しで、もし1回でも角度や歩数が正確じゃなかったら最後の辺が始点に戻らず三角形が閉じなくなってしまう。「三角形を描く」ブロックの定義はこれで完成!
#6四角形の定義を作る
準備
カスタム定義「四角形を描く」を追加
ペンで正方形を描く。100歩進んで90度左に曲がる動作を4回繰り返す
実装
三角形が描けるようになったから、今度は四角形用のブロックを作ろう。定義 ( )で「四角形を描く」を新しく定義するよ。
構造は三角形とほとんど同じ。0.5秒待って100歩進んだあと、( ) ( ) 度回すで90度だけ回転する。四角形だから回転角度が120度→90度に変わっただけなんだ。
#7四角形の2・3辺目
三角形のときと見比べてみて。やっていることは「動いて曲がる」の繰り返しなのに、角度が120度→90度に変わるだけで全然違う形になるんだよね。角度の違いが図形の形を決めてるってこと。
#8四角形の完成
三角形は「移動→回転」を3回、四角形は4回。辺の数だけ繰り返すっていう規則性がわかると、正五角形でも正六角形でも同じ要領で描けるようになるよ。
#9ブロックを呼び出す
いよいよメインスクリプトに戻って、さっき作ったブロックを呼び出すよ。( )で「三角形を描く」と「四角形を描く」を順番に実行するんだ。
メインスクリプトにはたった2行しかないのに、ネコが三角形と四角形を順番に描いてくれる。「何をやるか」はメインに書いて、「どうやるか」はブロック定義に任せる——この考え方がプログラミングの基本だよ。最後に隠すでスプライトを隠して、描いた図形だけが画面に残るようにしよう。
まとめ
関数って最初は難しそうに聞こえるかもしれないけど、「処理に名前をつけてまとめる」だけのことなんだよ。三角形でも四角形でも、同じ発想で正五角形や正六角形にも応用できちゃう。コードを整理する感覚、なんとなく掴めてきたんじゃないかな。