サイトについて      連絡先   検索

スクラッチ 定義、メソッドや関数の作成

はじめに

Scratch (スクラッチ) 1.4 の定義、メソッドや関数を作成する方法を紹介します。

複数の命令をまとめて 1 つの処理にするのがメソッドの役割です。

各ブロックも内部では複数の命令の組み合わせでできているのでメソッドと言えます。

メソッドとは

メソッドとは処理を 1 つにまとめたものです。「関数」と呼ばれることもあります。スクラッチ 1.4 にはメソッドを作成する機能はありません。代わりにメッセージブロックを使用して同じようなことができます。バージョン 2.0 からは定義ブロックでできます。

一般的なプログラミング言語では、すべての処理がメソッドで動いています。メソッドから別のメソッドを呼び出し、そこからまたメソッドを呼び出すというのを繰り返して 1 つのプログラムが作成されます。

メソッドを作成すると次のような良いことがあります。詳しくは最後に解説します。

メソッドの動作

メソッドを作成する

新しいメソッドを作成します。このメソッドが呼び出されたときにその処理を実行します。

1

メソッドを作るには [▼] をクリックして [新規] をクリックします。

4

メソッドの名前を入力して [OK] をクリックします。

5

メソッドの処理を追加して完成です。このメソッドが呼び出されたときに、この処理が実行されます。

6

メソッドを呼び出す

指定したメソッドを呼び出します。メソッドの処理が終わるのを待つことなく次の処理を実行します。

2

指定したメソッドを呼び出します。メソッドの処理が終わるまで次の処理が実行されません。通常はこちらを使います。

3

次のようにすると、作成した Tipsfound メソッドを繰り返し呼び出します。

8

これは次の処理と同じことです。

9

送ると送って待つの違い

「送る」と「送って待つ」の違いは、次の処理をいつ実行するかです。

7

メソッドの処理が終わるのまで時間がかかるとわかりやすいです。

10

送るブロックは、メソッドの処理中に「待たない」と表示します。

12

送って待つブロックは、メソッドの処理が終わってから「待つ」と表示します。

11

メソッドの良いこと

処理に名前を付けられる

次のようなスクリプトがあります。すぐに何をするものなのかわかりますか。

13

名前を付けることで「一回転」するだろうということがわかります。

14

このように処理に名前を付けることで何をするのかすぐにわかります。

プログラムはすべてを自分で作るのではなく、大人数で 1 つのプログラムを作ることが当たり前です。他の人が作った処理を修正したり追加したりすることがよくあります。その時に処理に名前が付いていれば、プログラムを理解する助けになります。

仕事では 1 つのミスが大きなバグになることがあります。ミスしないためにも、わかりやすいプログラムを作成することは大切なことです。

同じ処理を呼び出せる

「←↑↓→」の各キーでスプライトを一回転させたいとします。そこで次のようにスクリプトを作成しました。しかし、それぞれに処理を追加しているため、1 つのキーだけ違う動作をする可能性があります。

15

そこでメソッドに一回転させる処理を作成し、各キーからそのメソッドを呼び出します。こうすることで確実に各キーの処理は同じになります。回転する処理を 1 度確認すればその処理が正しいかわかります。

16

このようにいろいろな場所から同じ処理を行いたいことはよくあります。その処理をメソッドで作成すれば確実に同じ処理にできます。

修正が簡単

先ほどの一回転する処理中に「目が回る」と表示するように修正したいとします。メソッドを使わないと各キーの処理をそれぞれ修正する必要があります。修正箇所が多いと 1 つだけ間違って修正するかもしれません、また修正を忘れることもあります。

17

メソッドなら、メソッドの処理を修正するだけです。

18

このように処理を後から修正することはよくあります。そのときにメソッドを作成していれば簡単に短い時間で修正が済みます。

関連ページ