welcome: please sign in
location: "etoys引数のあるスクリプト"の差分
9と10のリビジョン間の差分
2011-07-19 02:49:48時点のリビジョン9
サイズ: 3500
編集者: masahiko
コメント:
2011-07-19 02:52:36時点のリビジョン10
サイズ: 3710
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 97: 行 97:
ただし、スクリプトがこのように変わるわけではありません。
 . {{attachment:call13.png}}
引数の値を10に変えて実行すると
 . {{attachment:call14.png}}
numberの箇所が10だとして実行されます。
 . {{attachment:call15.png}}
行 98: 行 104:
 . {{attachment:call13.png}}
 . {{attachment:call14.png}}
 . {{attachment:call15.png}}
==== 例 ====

引数のあるスクリプト


スクリプトの呼び出し

処理内容が多くてスクリプトが長くなるときには、 内容ごとに別のスクリプトに分けて記述し、 これを呼び出して使うことができます。

例1

とんぼのスクリプト1がこのように記述されているとき、

  • call01.png

スクリプト1をスクリプト2の中で利用することができます。

  • call02.png

この場合

  • スクリプト2をチクタクにし

  • スクリプト1はノーマルにしておく

ことに注意して下さい。

例2

カウンタを使って場合わけをした場合です。

処理内容によりスクリプトを分割しています。

  • スクリプト1に動きを
  • スクリプト2にカウンタの処理を

記述しています。

  • call03.png

例3

さらに場合わけを行って、ちょっとだけ異なった動作をさせる場合です。

1つの動きは

  • 回す 5
  • 進める 10

もう1つの動きは

  • 回す -5
  • 進める 10

と、回す量だけが異なっています。

共通する処理内容だけをスクリプト1の中に書き、 これをスクリプト2で利用することにすれば 次のように書けます。

  • call04.png

  • call05.png

しかし、これでは動きについての命令が スクリプト1とスクリプト2に分かれてしまい プログラムとしては分かりにくいものになってしまいます。


引数のあるスクリプト

  • スクリプト間で値を受け渡すことができます。
  • 値を渡すには引数(ひきすう)を使います。

呼び出される側のスクリプトに引数を追加

呼び出される側のスクリプトを表示し 右上のメニューボタンを押します。

  • call07.png

引数を追加を選びます。

  • call06.png

引数が追加されます。

  • call08.png

引数の値を利用する

引数の部分をドラッグして 引数の値を利用したい箇所に 割り当てます。

  • call09.png

このようになります。

  • call10.png

引数のあるスクリプトの形

引数のあるスクリプトは

  • スクリプトの上部は左のように、
  • ビューアの表示は右のように

なっています。

  • call12b.png

同じ形式で、左の number と右の 5 が対応しているのが分かります。

引数のあるスクリプトを使う

引数のあるスクリプトは使い方がちょっと違います。

  • 引数の値を指定して使います。
  • チクタクにすることはできません。

ビューアで見るとこのようになっています。

  • call11.png

!を押すと スクリプト1:の右にある5を引数の値として 実行されます。

  • call12a.png

赤で示した箇所が対応し、 Numberと書かれている箇所が5だとして実行されます。 ただし、スクリプトがこのように変わるわけではありません。

  • call13.png

引数の値を10に変えて実行すると

  • call14.png

numberの箇所が10だとして実行されます。

  • call15.png

  • call16.png

  • call17.png

etoys引数のあるスクリプト (最終更新日時 2011-07-19 02:56:00 更新者 masahiko)