スクラッチには機能拡張という仕組みがあります。これはプログラムに拡張的な機能を取り込むことで、その機能が使用できるようになる仕組みです。画面左下の[拡張機能を追加]ボタンから始まります。

[拡張機能を追加]ボタンをクリックすると、下図の[拡張機能を選ぶ]パネルが現れます。ここには音楽やセンサー、LEGOブロックなどが扱えるようになる拡張機能が入っています。今回は描画を行うので[ペン]をクリックします。

すると[コード]タブ下部の[ブロック定義]の下に[ペン]が表示されます。これをクリックすると、下図に示すコードブロックが表示されます。線の描画はこれらのコードブロックを使って行います。
線の描画の基本
線は目に見えない、ペン先を上げ下げして描きます。ステージに配置するスプライトはどれも目に見えないペン先を持っていて、ペンのコードブロックはそのスプライトに置いてプログラミングします。1つのスプライトはペンを1つだけ持つことができます。
線の描画は基本的にいつも同じ手順で行います。
- ペンの色を決めることができます。
- ペンの太さを決めることができます。
- ペン先を下ろします。描画はここからスタートします。
- スプライトを移動させます。その動いた跡が線になります。
- 終わったら、ペン先を上げます。描画はここで終わります。

水平方向に線を描く
では、実際に線を描いてみましょう。横に伸びる線を描きます。
- スクラッチの画面で新しいプロジェクトを作成し、「線の描画の基本」というプロジェクト名にします。
- ネコのスプライトを削除し、代わりにBeetleスプライトを読み込みます。
- 画面左下の[拡張機能を追加]ボタンをクリックして[拡張機能を選ぶ]パネルで[ペン]をクリックして選択します。
Beetleスプライトのコードエリアに次のコードブロックを置きます。

[緑の旗]ボタンをクリックしてプログラムを実行します。ビートル(甲虫)が右に動いて、黒い線が描かれます。

線を消す
描いた線を消すには[ペン]-[全部消す]コードブロックを使用します。簡単で分かりやすいのは、キーボードのスペースキーを押して線を消す方法です。
画面右下の[ステージ]をクリックし、ステージのコードエリアに次のコードブロックを作成します。ペンに関係するステージのコードブロックは[全部消す]しかありません。

平行線を描く
最後に色と太さを変えた平行線を描きましょう。
線の太さ
線の太さは[ペンの太さを( )にする]を使って決めます。( )には0から1024までの数値を半角で指定します。

線の色
色の指定は少し複雑なので、今回は[ペンの色を( )にする]ブロックの( )のクリックで表示される[色]と[鮮やかさ]と[明るさ]の数値の指定を、下の表を参考にして入力してください。たとえば青は67、100、100です。スライダーの丸いつまみをドラッグして指定します。

代表的な色のHSV値(H: 0〜100 規格)
| 色の名前 | 色相 (H) | 彩度 (S) | 明度 (V) |
|---|---|---|---|
|
赤 (Red) |
0 / 100 | 100% | 100% |
|
黄色 (Yellow) |
17 | 100% | 100% |
|
緑 (Green) |
33 | 100% | 100% |
|
シアン (Cyan) |
50 | 100% | 100% |
|
青 (Blue) |
67 | 100% | 100% |
|
マゼンタ (Magenta) |
83 | 100% | 100% |
|
白 (White) |
任意 | 0% | 100% |
|
黒 (Black) |
任意 | 任意 | 0% |
ビートルのスプライトには次のコードブロックを設定します。

プログラムを実行すると、下図のように色と太さが異なる2本の平行線が描画できます。
