Stack Layout ノードを使用する

選択した軸方向にノードを並べて配置するには、Stack Layout ノードを使用します。

Stack Layout 3D の子ノードをx、y、z軸に沿って配置するための方向と開始点を設定でき、Stack Layout 2D の子ノードをx、y軸に沿って配置するための方向と開始点を設定できます。

../../_images/stack-layout.gif

Stack Layout ノードの作成

Stack Layout ノードを作成するには:

  1. Node Tree Alt を押しながら右クリック で、Stack Layout ノードを作成したいノードを選択し、Stack Layout 3D または Stack Layout 2D のいずれかを選択します。

    3Dノードは、Scene ノードのような3Dノード内でのみ作成でき、2Dノードは2Dノード内でのみ作成できます。

    ../../_images/node-tree-create-stack-layout-2d.png

    ヒント

    Preview で Stack Layout 2D tool stack-layout-tool を選択し、Preview でクリックしてドラッグすることで Stack Layout 2D ノードを作成します。Stack Layout 2D の上の スタックツール矢印 はレイアウトの方向を示しています。

    • 幅が高さよりも大きいレイアウトを作成する場合、レイアウトの方向はx軸上になります。

      ../../_images/stack-layout-x-axis.png ../../_images/stack-layout-x-direction.png
    • レイアウトの高さが幅よりも大きいレイアウトを作成する場合、レイアウトの方向はy軸上にあります。

      ../../_images/stack-layout-y-axis.png ../../_images/stack-layout-y-direction.png
  2. Node Tree で、前のステップで作成したレイアウトに子ノードを追加します。

    例えば、Stack Layout 3D ノードを作成した場合、いくつかの Sphere ノードを追加し、Stack Layout 2D ノードを作成した場合、いくつかの Image ノードを追加します。

    子ノードを追加すると、Stack Layout ノードは、Direction プロパティで定義された軸に沿ってそれらを配置します。

    ../../_images/node-tree-stack-layout-images.png ../../_images/preview-stack-layout-images.png
  3. (オプション) で、Properties の Direction プロパティを、Stack Layout ノードが子ノードを配置する軸に設定します。

    ../../_images/stack-layout-change-direction.gif
  4. (オプション) レイアウト内のチャイルドノードの周囲をクリアするには、Node Tree でレイアウト内のチャイルドノードを選択し、Properties で image0 をクリックし、マージンプロパティを追加して設定します。

    • Depth Margin は、チャイルドノードの前後の領域をクリアします。

    • Horizontal Margin は、チャイルドノードの左側と右側のエリアをクリアします。

    • Vertical Margin は、チャイルドノードの上下の領域をクリアします。

    ../../_images/stack-layout-add-margin.gif

Stack Layout ノードの子ノードの順序を逆にする

Stack Layout ノード内の子ノードの順序を逆にするには、Node Tree で順序を逆にしたい Stack Layout ノードを選択し、Properties で Reversed プロパティを有効にします。

../../_images/stack-layout-reversing-order.gif

Stack Layout 2D ノードの外観を設定する

2D ノードの外観を設定するには:

APIで Stack Layout 3D ノードを使用する

Stack Layout 3D ノードを作成するには、

// Create a Stack Layout 3D node named Stack.
StackLayout3DSharedPtr stack = StackLayout3D::create(domain, "Stack");

Stack Layout 3D ノードの方向を制御するには、

// Set the Stack Layout 3D node to arrange its items along the x axis.
stack->setDirection(StackLayout3D::DirectionX);

Stack Layout 3D ノードにアイテムを追加するには、

// Stack Layout 3D node arranges its items in the order that you add items.
// Create a Model node and ...
Model3DSharedPtr item1 = Model3D::createBox(domain, "item1", Vector3(1.3f, 1.3f, 1.3f), ThemeRed);
// ... add it to the Stack Layout 3D node.
stack->addChild(item1);
Model3DSharedPtr item2 = Model3D::createSphere(domain, "item2", 0.8f, 30, 30, ThemeGreen);
stack->addChild(item2);
Model3DSharedPtr item3 = Model3D::createBox(domain, "item3", Vector3(1.0f, 1.0f, 1.0f), ThemeBlue);
stack->addChild(item3);

Stack Layout 3D ノードがアイテムを配置する順序を逆にするには:

// Set the Stack Layout 3D node to arrange its items in the reverse order.
stack->setReversed(true);

詳細については、StackLayout3D クラスを参照してください。

APIで Stack Layout 2D ノードを使用する

Stack Layout 2D ノードを作成するには、

// Create a Stack Layout 2D node named Stack.
StackLayout2DSharedPtr stack = StackLayout2D::create(domain, "Stack");

Stack Layout 2D ノードの方向を制御するには、

// Set the Stack Layout 2D node to arrange its items along the x axis.
stack->setDirection(StackLayout2D::DirectionX);

Stack Layout 2D ノードにアイテムを追加するには:

// Stack Layout 2D arranges its items in the order that you add items.
// Create a 2D node ...
EmptyNode2DSharedPtr item1 = EmptyNode2D::create(domain, "item1", 100.0f, 100.0f, ThemeRed);
// ... and add it to the Stack Layout 2D node.
stack->addChild(item1);
EmptyNode2DSharedPtr item2 = EmptyNode2D::create(domain, "item2", 100.0f, 100.0f, ThemeGreen);
stack->addChild(item2);
EmptyNode2DSharedPtr item3 = EmptyNode2D::create(domain, "item3", 100.0f, 100.0f, ThemeBlue);
stack->addChild(item3);

Stack Layout 2D ノードがアイテムを配置する順序を逆にするには:

// Set the Stack Layout 2D node to arrange its items in the reverse order.
stack->setReversed(true);

詳細については、StackLayout2D クラスを参照してください。

Stack Layout プロパティタイプとメッセージ

Stack Layout ノードの利用可能なプロパティタイプとメッセージのリストについては、Stack Layout 2D と Stack Layout 3D を参照してください。

関連項目

Dock Layout ノードを使用する

Flow Layout ノードを使用する

Grid Layout ノードを使用する

Stack Layout ノードを使用する

Trajectory Layout ノードを使用する

レイアウトコントロール (Layout control) ノード

Kanzi Studio Preview ツールを使用してノードのクリックジェスチャーを有効にする