2. ノードを配置・操作する: 4) 複数のノードを連結する
← [2. ノードを配置・操作する: 3) ノードを操作する]へ戻る | ↑ [目次]へ戻る | [2. ノードを配置・操作する: 5) ノードを整列させる]へ進む →
■このページで説明している内容
a) もうひとつノードを作る
b) ノードを接続して親子関係にする
c) ノードが親子関係になるとどうなるか?
d) 親ノード、子ノード、祖先ノード、子孫ノード
a) もうひとつノードを作る
PASSCELL Personal では、プロジェクトにいくつでもノードを作成できます。
もう1つノードを作成してみましょう。
プロジェクトの任意の場所でマウスをダブルクリックして新しいノードを生成します。
(図2.4.a-1) さらにノードを追加
ラベル文字列を、「2番目のノード」という名前にしてみます。
(図2.4.a-2) 2つ目のノード
b) ノードを接続して親子関係にする
PASSCELL Personal は、複数のノード同士を接続することができます。
ノード同士の接続には方向性があります。ここでは、「最初のノード」から先ほど作成した「2番目のノード」に接続してみましょう。
「最初のノード」の上でマウスの右ボタンをクリックしたままドラッグしていきます。
(図2.4.b-1) 「最初のノード」を右クリックしたままドラッグして「2番目のノード」に重ねる
「2番目のノード」の上に移動させているノードを重ねて、マウスボタンを離すと「最初のノード」→「2番目のノード」のように、2つのノードの間に矢印のついた線分が引かれ、接続されたことが表されます。
(図2.4.b-2) 接続されたノード
ノードの接続方法には、実はもう1つの方法があります。
先ほどは、既に生成された2つのノードを接続しましたが、ノードを新規生成させつつ同時に元のノードと接続する、という作業を同時に行うことができるのです。
「最初のノード」の上でマウスの右ボタンをクリックしたままドラッグしていき、今度はなにもノードが無い場所でマウスのボタンを離してみてください。
(図2.4.b-3) プロジェクトの背景部分にノードを右クリックでドラッグする
すると、今度は新しいノードが生成され、かつ元のノードと接続された状態になります。
(図2.4.b-4) 接続されたノードを新規作成
このようにして、あるノードに接続したノードを、どんどん作っていくことができます。
PASSCELL では、このように接続されているノード同士のことを、『親子関係にある』と呼んでいます。
上記の例では、「最初のノード」(矢印の根元側のノード)を親ノード、「2番目のノード」と「新規作成」ノード(矢印の先端側)を子ノードと呼びます。
c) ノードが親子関係になるとどうなるか?
ノードが親子関係になると、そうでない場合のノードと比較してどこが異なるのでしょうか?
1つ目の違いは、子ノードは親ノードで定義した「使う」エレメントが、子ノードで参照できるという点です。
このことを確認するために、まずは「最初のノード」の「使う」エレメント欄にエレメントを追加してみましょう。
例えば、「最初のノード」に"abc"というエレメントを追加し、値として"123"と入力してみます。
(図2.4.c-1) 親ノードにエレメントを定義する
この状態で、子ノードである「2番目のノード」を選択してみましょう。
「使う」エレメントにはなにもありませんが、「見る」エレメントを選択すると、先ほど「最初のノード」で定義した"abc"エレメントとその値が表示されています。
(図2.4.c-2) 「使う」エレメントにはなにも表示されていない
(図2.4.c-3) 「見る」エレメントには、親ノードのエレメントが見えている
この「2番目のノード」で見えている値が、親ノードのものであることを確認するために、「最初のノード」を選択し、"abc"エレメントの値を変えてみてください。
「2番目のノード」の値も変化し、親ノードの値であることが確認できるはずです。
このように、子ノードは親ノードのエレメントを常にその名前とともに参照することができるのです。
2つ目の違いは、スクリプトです。
「使う」エレメントと同様に、親ノードの「ここから」スクリプトで定義したスクリプトは、子ノードに引き継がれ、実行されることになります。
このスクリプトの引継ぎについては、「4. 計算や処理を行わせる: 2) 「ここだけ」スクリプトと「ここから」スクリプト」で詳しく説明します。
d) 親ノード、子ノード、祖先ノード、子孫ノード
ノードには、いくつもの子ノードを接続することができますし、さらに子ノードにもさらにノードを接続していくことができます。子ノードの子ノードは、親ノードからすれば「孫ノード」ということになります。
あるいは、親ノードも別のノードの子ノードとして接続することができます。
このように、あるノードから見て「親」にあたるノードやそのさらに「親」ノードをすべてふくめて「祖先ノード」と呼んでいます。
また、自分の「子」ノードやそのさらに「子」ノードは、「子孫ノード」と呼びます。
(図2.4.d-1) 祖先ノード、子孫ノード
前述したエレメントやスクリプトの引継ぎは、自分の親ノードだけではなくすべての祖先ノードの「使う」エレメント、および「ここから」スクリプトから行われます。
← [2. ノードを配置・操作する: 3) ノードを操作する]へ戻る | ↑ [目次]へ戻る | [2. ノードを配置・操作する: 5) ノードを整列させる]へ進む →








