子供向けプログラミング言語Scratch:線を描く―ペンの位置:ペンで描く位置を決める①

夏休み1日10分 ブログでScratch講習(大人向け):第1弾<絵を描く>4日目
4. 絵を描く―ペンの位置:ペンで描く位置を決める①
(1) [動き]グループの[x座標を〇、y座標を〇にする]ブロック
(2) [動き]グループの[x座標を〇にする]ブロック
(3) [動き]グループの[y座標を〇にする]ブロック

第1弾<絵を描く>の1日目2日目3日目のブログ記事ではプログラミング言語 Scratch(スクラッチ)のペンの機能を使って線を描く基本と線の消し方を、1つのプロジェクトを続けて使って説明しました。
4日目の今回と5日目6日目は、新しいプロジェクトを例に使い、主に[動き]グループのブロックを説明しながら、いろいろな線のひき方を見ていきます。
今回は、指定した座標にスプライトの位置を変える、[動き]グループの3つのブロックを説明しながら線を描きます。

[動き]グループの[x座標を〇、y座標を〇にする]ブロック

このブロックを使うと、現在のスプライトの位置から、ブロックの中で指定されたx座標とy座標で表される座標に、スプライトが一気に移動します。
このブロックが[ペンを下ろす]と[ペンを上げる]ブロックにはさまれていると、ステージ上の移動前の座標から移動後の座標まで、線がひかれます。

[動き]グループの[x座標を〇にする]ブロック

このブロックを使うと、現在のスプライトの位置から、ブロックの中で指定されたx座標と現在のy座標で表される座標に、スプライトが一気に移動します。
このブロックが[ペンを下ろす]と[ペンを上げる]ブロックにはさまれていると、ステージ上の移動前の座標から移動後の座標まで、線がひかれます。

[動き]グループの[y座標を〇にする]ブロック

このブロックを使うと、現在のスプライトの位置から、現在のx座標とブロックの中で指定されたy座標で表される座標に、スプライトが一気に移動します。
このブロックが[ペンを下ろす]と[ペンを上げる]ブロックにはさまれていると、ステージ上の移動前の座標から移動後の座標まで、線がひかれます。

指定した座標に移動して線を引く例:猫が正方形を描くプロジェクト例

今回は組み込みの背景から座標の背景を読み込み、そこに、猫のスプライトをペンとして1辺が100歩の正方形(内、頂点の1つの座標が(-50、50))を描くプロジェクトを作ります。
普通に作って実行すると、あっという間に正方形を描いてしまうので、今回は、1辺を描くごとに1秒待つアルゴリズムにします。

プロジェクト説明図
プロジェクト説明図

Scratch起動して、上図のプロジェクトを新規で作っていきます。
・組み込みの座標の背景を読み込むため、スプライトリスト左の[新しい背景]一番左の図にマウスを合わせ[ライブラリーから選択]と表示されたらクリックして[背景ライブラリー]を表示します。
・[背景ライブラリー]最後の[xy-grid](座標の背景)のサムネイルをクリックして、[OK]をクリックします。
・猫のスプライトスクリプトを作るため、スプライトリストの猫のスプライトサムネイルをクリックし、スクリプトタブをクリックしてスクリプトエリアを表示します。

プロジェクト
プロジェクト

・[イベント]グループの[緑の旗がクリックされたとき]ブロックを、スクリプトエリアにドラッグ&ドロップします。
・猫のスプライトを正方形左上角の位置(-50,50)に置くために、[動き]グループの[x座標を〇、y座標を〇にする]ブロックをその下に付け、x座標の〇に「-50」をy座標の〇に「50」を入力します(①)。
・すべての線とスタンプが消えた状態から処理を始めたいため、[ペン]グループの[消す]ブロックをその下に付けます。
・このあとから線を描いていくため、[ペン]グループの[ペンを下ろす]ブロックをその下に付けます。
・この状態で1秒だけ処理を止めたいため、[制御]グループの[〇秒待つ]ブロック(すでに1秒となっている)をその下に付けます。
・猫のスプライトを正方形右上角の位置(50,50)に置くために、[動き]グループの[x座標を〇にする]ブロックをその下に付け、x座標の〇に「50」を入力します(➁)。
・この状態で1秒だけ処理を止めたいため、[制御]グループの[〇秒待つ]ブロック(すでに1秒となっている)をその下に付けます。
・猫のスプライトを正方形右下角の位置(50,-50)に置くために、[動き]グループの[y座標を〇にする]ブロックをその下に付け、y座標の〇に「-50」を入力します(③)。
・この状態で1秒だけ処理を止めたいため、[制御]グループの[〇秒待つ]ブロック(すでに1秒となっている)をその下に付けます。
・猫のスプライトを正方形左下角の位置(-50,-50)に置くために、[動き]グループの[x座標を〇にする]ブロックをその下に付け、x座標の〇に「-50」を入力します(④)。
・この状態で1秒だけ処理を止めたいため、[制御]グループの[〇秒待つ]ブロック(すでに1秒となっている)をその下に付けます。
・描き終わりの位置として、猫のスプライトを正方形左上角の位置(-50,50)に置くために、[動き]グループの[x座標を〇、y座標を〇にする]ブロックをその下に付け、x座標の〇に「-50」をy座標の〇に「50」を入力します(⑤)。
・線を描き終わったため、[ペン]グループの[ペンを上げる]ブロックをその下に付けます。
実行してみます

次の動画は上記手順の操作の例です。

次のテーマは、その他スプライトの位置の変え方に関することを取り上げる予定です。

今日ここまでで作ったプロジェクトは、Scratchコミュニティーサイトで公開しています。
このリンクからご覧ください。

その他参考ブログ記事:
子供向けプログラミング言語Scratch:線を描く―基本:スプライトはペンになる!

プログラミングとは・・・子供のプログラミング教育を考えるための基礎用語

子供向けプログラミング言語について・・・子供のプログラミング教育を考えるための基礎用語

子供向けプログラミング言語Scratch-オンラインエディターの表示方法

子供向けプログラミング言語Scratch-オンラインエディターの終了方法

子供向けプログラミング言語Scratch-エディターの各部名称と役割とは

子供向けプログラミング言語Scratch-座標について

コメントを残す