46
コメント:
|
3553
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 3: | 行 3: |
スクリプト内で命令をどの順にならべたらよいのか考えましょう。 ---- === スクリプト内では順番に実行される === スクリプト内にいくつかの命令を並べたときは 上から順に実行されます。 3つの命令を並べた例です。 . {{attachment:junban4.png}} 次の3つが順に実行されます。 1. ウサギを進める5 1. 入れ物のカーソル位置 ← 2 1. ウサギの画像 ← 入れ物のカーソル位置の画像 !を押して1回だけ実行してみると分かります。 チクタクでは分かりにくいかもしれません。 ---- === 1つのスクリプトで考える === つぎの2つのスクリプトを考えます。 . {{attachment:junban1.png}} . {{attachment:junban2.png}} 1回だけ実行したり、どちらかだけをチクタクにするのはよいのですが 2つともチクタクにすると、全体としての動作が分かりにくくなってしまいます。 2つとも実行したいのであれば 1つのスクリプトにまとめたほうが分かりやすい。 . {{attachment:junban3.png}} '''チクタク'''にするスクリプトは 1つのオブジェクトにたいして'''1つだけ'''にして考えましょう。 ---- === 並べる順が重要 === 正しい順に並べないとうまく動作しないものもあります。 最初の例です。 . {{attachment:junban4.png}} 1回だけ実行するとして考えると . 入れ物のカーソル位置 ← 2 の後で . ウサギの画像 ← 入れ物のカーソル位置の画像 を行わないとだめなことがわかります。 判定により画像を変える場合も 同じ順番に並べればよい。 . {{attachment:junban5.png}} ウサギが . 赤色のところに来たときはカーソル位置1の画像に . そうでないときはカーソル位置2の画像になります。 ---- === 複数の判定が必要なとき === 複数の判定が必要なときはさらに注意が必要です。 ウサギが . 黄色のところに来たときはカーソル位置3の画像に . そうでないときはカーソル位置2の画像 にするときも、同様に書けます。 . {{attachment:junban6.png}} ==== 問題 ==== ウサギが . 赤色のところに来たときはカーソル位置1の画像に . 黄色のところに来たときはカーソル位置3の画像に . そうでないときはカーソル位置2の画像に するにはどうしたらよいでしょうか。 間違いの例 . {{attachment:junban7.png}} 上の2つのスクリプトのテストの部分を並べたものです。 . 赤色のテストをした後、黄色のテストをしています。 ウサギが赤色のところにいるときの処理はつぎのようになります。 1. ウサギを進める 1. 赤色のテストが成り立つので、カーソル位置は1になる 1. 黄色のテストが成り立たないので、カーソル位置は2になる 1. カーソル位置2の画像が表示される 正解1 赤色と重なっていないときだけ 黄色のテストを行えばよいので、 赤色のテストの'''いいえ'''の部分に黄色のテストを入れます。 . {{attachment:junban8.png}} 正解2 このような方法もあります。 . {{attachment:junban9.png}} |
処理の順番を考える
スクリプト内で命令をどの順にならべたらよいのか考えましょう。
スクリプト内では順番に実行される
スクリプト内にいくつかの命令を並べたときは 上から順に実行されます。
3つの命令を並べた例です。
次の3つが順に実行されます。
- ウサギを進める5
- 入れ物のカーソル位置 ← 2
- ウサギの画像 ← 入れ物のカーソル位置の画像
!を押して1回だけ実行してみると分かります。
チクタクでは分かりにくいかもしれません。
1つのスクリプトで考える
つぎの2つのスクリプトを考えます。
1回だけ実行したり、どちらかだけをチクタクにするのはよいのですが
2つともチクタクにすると、全体としての動作が分かりにくくなってしまいます。
2つとも実行したいのであれば 1つのスクリプトにまとめたほうが分かりやすい。
チクタクにするスクリプトは 1つのオブジェクトにたいして1つだけにして考えましょう。
並べる順が重要
正しい順に並べないとうまく動作しないものもあります。
最初の例です。
1回だけ実行するとして考えると
- 入れ物のカーソル位置 ← 2
の後で
- ウサギの画像 ← 入れ物のカーソル位置の画像
を行わないとだめなことがわかります。
判定により画像を変える場合も 同じ順番に並べればよい。
ウサギが
- 赤色のところに来たときはカーソル位置1の画像に
- そうでないときはカーソル位置2の画像になります。
複数の判定が必要なとき
複数の判定が必要なときはさらに注意が必要です。
ウサギが
- 黄色のところに来たときはカーソル位置3の画像に
- そうでないときはカーソル位置2の画像
にするときも、同様に書けます。
問題
ウサギが
- 赤色のところに来たときはカーソル位置1の画像に
- 黄色のところに来たときはカーソル位置3の画像に
- そうでないときはカーソル位置2の画像に
するにはどうしたらよいでしょうか。
間違いの例
上の2つのスクリプトのテストの部分を並べたものです。
- 赤色のテストをした後、黄色のテストをしています。
ウサギが赤色のところにいるときの処理はつぎのようになります。
- ウサギを進める
- 赤色のテストが成り立つので、カーソル位置は1になる
- 黄色のテストが成り立たないので、カーソル位置は2になる
- カーソル位置2の画像が表示される
正解1
赤色と重なっていないときだけ 黄色のテストを行えばよいので、
赤色のテストのいいえの部分に黄色のテストを入れます。
正解2
このような方法もあります。