Stack Layout ノードを使用する¶
選択した軸方向にノードを並べて配置するには、Stack Layout ノードを使用します。
Stack Layout 3D の子ノードをx、y、z軸に沿って配置するための方向と開始点を設定でき、Stack Layout 2D の子ノードをx、y軸に沿って配置するための方向と開始点を設定できます。
Stack Layout ノードの作成¶
Stack Layout ノードを作成するには:
Node Tree Alt を押しながら右クリック で、Stack Layout ノードを作成したいノードを選択し、Stack Layout 3D または Stack Layout 2D のいずれかを選択します。
3Dノードは、Scene ノードのような3Dノード内でのみ作成でき、2Dノードは2Dノード内でのみ作成できます。
ヒント
Preview で Stack Layout 2D tool
を選択し、Preview でクリックしてドラッグすることで Stack Layout 2D ノードを作成します。Stack Layout 2D の上の
はレイアウトの方向を示しています。幅が高さよりも大きいレイアウトを作成する場合、レイアウトの方向はx軸上になります。
レイアウトの高さが幅よりも大きいレイアウトを作成する場合、レイアウトの方向はy軸上にあります。
Node Tree で、前のステップで作成したレイアウトに子ノードを追加します。
例えば、Stack Layout 3D ノードを作成した場合、いくつかの Sphere ノードを追加し、Stack Layout 2D ノードを作成した場合、いくつかの Image ノードを追加します。
子ノードを追加すると、Stack Layout ノードは、Direction プロパティで定義された軸に沿ってそれらを配置します。
(オプション) で、Properties の Direction プロパティを、Stack Layout ノードが子ノードを配置する軸に設定します。
(オプション) レイアウト内のチャイルドノードの周囲をクリアするには、Node Tree でレイアウト内のチャイルドノードを選択し、Properties で
をクリックし、マージンプロパティを追加して設定します。Depth Margin は、チャイルドノードの前後の領域をクリアします。
Horizontal Margin は、チャイルドノードの左側と右側のエリアをクリアします。
Vertical Margin は、チャイルドノードの上下の領域をクリアします。
Stack Layout ノードの子ノードの順序を逆にする¶
Stack Layout ノード内の子ノードの順序を逆にするには、Node Tree で順序を逆にしたい Stack Layout ノードを選択し、Properties で Reversed プロパティを有効にします。
Stack Layout 2D ノードの外観を設定する¶
2D ノードの外観を設定するには:
2Dノードを単色、テクスチャ、またはマテリアルで塗りつぶすことができます。2Dノードの外観の調整 を参照してください。
2Dノードにポストプロセッシングエフェクトを適用できます。2Dノードのエフェクト を参照してください。
2Dノードを3つの軸すべてで回転させて、3Dのパースペクティブ効果を作成できます。2Dノードに3Dパースペクティブ効果を作成する を参照してください。
2Dノードにカスタムレンダリングを適用して、ポストプロセッシングエフェクトを作成できます。2Dノードにカスタムレンダリングを適用する を参照してください。
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 を参照してください。