NarraLeaf

List、Slider、Image

リストの項目と選択、スライダーの値と範囲、画像のアセット・フィットモード・クロップ——すべて接続された要素に対して

自分自身の状態を持つ3つのウィジェット——List の項目、Slider の値、Image のアセット——に、ウィジェットの内部からではなく、ここでは接続された参照を通じて到達します。すべての Element ノードに共通する規則は Element にあります。

List

List ノードは element:nl.list 型の list ピンを取ります。これらは List インスタンスのランタイム items に作用し、その items はそのインスタンスの中にしか存在しません——完全にアンマウントされるとクリアされ、何もそれを復元しません。そのため変数や他のデータソースから自分で書き戻す必要があります。itemsBinding は、ランタイム items が何もないときの読み取りフォールバックとしてのみ参照されます。

項目コンテキストの読み取りノード——index、count、key、props——はそもそも Element ノードではありません——それらは自分がレンダリングされている項目のテンプレートスコープを読み、Self 形態と一緒に List にあります。

Get List Content

blueprint.element.list.getItems · Pure

ランタイム items を読み取ります。何も設定されていなければ、itemsBinding またはプレビューデータにフォールバックします。

ピン方向備考
listin · dataelement:nl.list
itemsout · dataarray

Set List Content

blueprint.element.list.setItems · Latent

ランタイム items を置き換えます。配列でない値は空配列として扱われます。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list
itemsin · dataarray

Clear List

blueprint.element.list.clear · Latent

ランタイム items を空配列にします。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list

Append List Item

blueprint.element.list.appendItem · Latent

1つの項目を末尾に追加します。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list
itemin · dataany

Insert List Item

blueprint.element.list.insertItem · Latent

1つの項目を指定インデックスに挿入します。インデックスは拒否されるのではなく、有効な範囲に clamp されます。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list
indexin · dataintegerカード上のリテラルを受け付けます。
itemin · dataany

Remove List Item

blueprint.element.list.removeItem · Latent

item と JSON として等しい最初の項目を削除します。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list
itemin · dataany

Remove List Item At

blueprint.element.list.removeItemAt · Latent

指定インデックスの項目を削除します。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list
indexin · dataintegerカード上のリテラルを受け付けます。

Refresh List Items

blueprint.element.list.refreshItems · Latent

現在の items を変更せずに書き戻し、項目テンプレートを強制的に再レンダリングさせます。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list

Get Selected Item

blueprint.element.list.getSelectedItem · Pure

有効な選択がないときは null を出力します。

ピン方向備考
listin · dataelement:nl.list
itemout · datajson

Set Selected Item

blueprint.element.list.setSelectedItem · Latent

JSON としての等価性で項目を見つけ、それを選択します。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list
itemin · dataany

Get Selected Index

blueprint.element.list.getSelectedIndex · Pure

選択されているインデックスを読み取ります。

ピン方向備考
listin · dataelement:nl.list
indexout · datainteger

Set Selected Index

blueprint.element.list.setSelectedIndex · Latent

選択されているインデックスを設定します。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list
indexin · dataintegerカード上のリテラルを受け付けます。

Scroll To Index

blueprint.element.list.scrollToIndex · Latent

1つの項目までスクロールします。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list
indexin · dataintegerカード上のリテラルを受け付けます。

Scroll To Top

blueprint.element.list.scrollToTop · Latent

先頭までスクロールします。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list

Scroll To Bottom

blueprint.element.list.scrollToBottom · Latent

末尾までスクロールします。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list

Get List Length

blueprint.element.list.getLength · Pure

ピン方向備考
listin · dataelement:nl.list
lengthout · datainteger

Get Item At

blueprint.element.list.getItemAt · Pure

Get List Content で配列全体を引き出すことなく、インデックスで1行だけ取得します。

ピン方向備考
listin · dataelement:nl.list
indexin · dataintegerカード上のリテラルを受け付けます。
itemout · datajson現在の items の範囲外では null

Find Item By Field

blueprint.element.list.findItemByField · Pure

List が宣言している項目フィールドの1つで行を検索します。カードはそのフィールドの安定 id を保存するため、プロパティの名前を変えてもグラフには何のコストもかかりません。

ピン方向備考
listin · dataelement:nl.list
valuein · dataanyフィールドが等しくあるべき値。
indexout · datainteger一致するものがないときは -1
itemout · datajson一致するものがないときは null
foundout · databoolean

カード上のフィールド

フィールド説明
Fieldどの項目フィールドで照合するか。

Set Item Field At

blueprint.element.list.setItemFieldAt · Latent

1行の1つのフィールドだけを書き込み、その行の他の部分はそのままにします。存在しない行に対しては黙って何もしません。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list
indexin · dataintegerカード上のリテラルを受け付けます。
valuein · dataany

カード上のフィールド

フィールド説明
Fieldどの項目フィールドに書き込むか。必須——これがないとノードは実行を拒否します。

Sort List By Field

blueprint.element.list.sortByField · Latent

ランタイム items をそのフィールドの1つで並べ替え、結果を書き戻します。並べ替えの規則は DataArray Sort By Key と同じ。

ピン方向備考
inin · exec
nextout · exec
listin · dataelement:nl.list

カード上のフィールド

フィールド説明
Fieldどの項目フィールドで並べ替えるか。必須。
DirectionAscending または Descending

Get Scroll Progress

blueprint.element.list.getScrollProgress · Pure

List がどこまでスクロールされているかを 01 で示します。Scroll ヘッドは List が動いたことを伝え、この4つはそれがどこに落ち着いたかを伝えます——List の外側のコントロールは自分で尋ねる必要があります。誰も教えてくれないからです。

ピン方向備考
listin · dataelement:nl.list
progressout · datafloat

Get Scroll Offset

blueprint.element.list.getScrollOffset · Pure

ピン方向備考
listin · dataelement:nl.list
offsetout · datafloatピクセル。
maxOffsetout · datafloatコンテンツが収まっているときは 0

Is Scrolled To Start

blueprint.element.list.isScrolledToStart · Pure

ピン方向備考
listin · dataelement:nl.list
atStartout · databoolean近い端から1ピクセル以内。コンテンツが収まっているときは true

Is Scrolled To End

blueprint.element.list.isScrolledToEnd · Pure

ピン方向備考
listin · dataelement:nl.list
atEndout · databoolean遠い端から1ピクセル以内。コンテンツが収まっているときは true

Slider

Slider ノードは element:nl.slider 型の slider ピンを取ります。スライダーが値を報告するあらゆる場所——props.value、その Blueprint Value、イベントペイロード、Get Slider Value——において、その値は写像済みの値であり、すでに minmaxstep に対して clamp と snap が済んでいます。0..1 の比率は Get Slider Normalized Value を通してのみ得られます。Self 形態は Slider にあります。

Get Slider Value

blueprint.element.slider.getValue · Pure

写像済みのランタイム値を読み取ります——すでに clamp と snap が済んでいます。

ピン方向備考
sliderin · dataelement:nl.slider
valueout · datafloat

Set Slider Value

blueprint.element.slider.setValue · Latent

写像済みの値を書き込み、現在の範囲とステップに対して正規化します。更新するのはランタイム状態のみ——valueChangeddragStartdragEnd のいずれのイベントも発火されず、UI ドキュメントにも何も書き戻されません。

ピン方向備考
inin · exec
nextout · exec
sliderin · dataelement:nl.slider
valuein · datafloatカード上のリテラルを受け付けます。

Get Slider Normalized Value

blueprint.element.slider.getNormalizedValue · Pure

0..1 の比率を読み取ります。これを得られるのはこのノードだけです。

ピン方向備考
sliderin · dataelement:nl.slider
normalizedValueout · datafloat

Get Slider Range

blueprint.element.slider.getRange · Pure

minmaxstep を一度に読み取ります。

ピン方向備考
sliderin · dataelement:nl.slider
minout · datafloat
maxout · datafloat
stepout · datafloat

Set Slider Range

blueprint.element.slider.setRange · Latent

minmaxstep を書き込み、それらに対して現在のランタイム値を再正規化します。Set Slider Value と同様、イベントについては何も発火しません。

ピン方向備考
inin · exec
nextout · exec
sliderin · dataelement:nl.slider
minin · datafloatカード上のリテラルを受け付けます。
maxin · datafloatカード上のリテラルを受け付けます。
stepin · datafloatカード上のリテラルを受け付けます。

Image

Image ノードは element:nl.image ピンを取ります。これらはインターフェースの画像ウィジェットのみを扱います——ステージ画像でも、キャラクターの立ち絵でも、ストーリーが演出するものでもありません。ImageAsset を生成するリテラルカードは派生形態を持たず、Self 形態と一緒に Image にとどまります。

Get Image Asset

blueprint.element.image.getImageAsset · Pure

ウィジェットに画像がないときは null

ピン方向備考
elementin · dataelement:nl.image
assetout · dataImageAsset|null

Set Image Asset

blueprint.element.image.setImageAsset · Latent

asset を未接続にしておくと、カードは画像ピッカーに展開されます。接続すれば接続した値が優先されます。null は画像をクリアします。単純な assetId 文字列を渡すグラフも引き続き動作するが、新しい作業では ImageAsset を持たせるべきです。

ピン方向備考
inin · exec
nextout · exec
elementin · dataelement:nl.image
assetin · dataImageAsset|nullカード上のリテラルを受け付けます。

Clear Image Asset

blueprint.element.image.clearImageAsset · Latent

null を渡した Set Image Asset と同等。

ピン方向備考
inin · exec
nextout · exec
elementin · dataelement:nl.image

Get Image Fit Mode

blueprint.element.image.getFitMode · Pure

imageFill.mode を読み取ります:covercontainstretchcroptile のいずれかです。

ピン方向備考
elementin · dataelement:nl.image
fitModeout · datastring

Set Image Fit Mode

blueprint.element.image.setFitMode · Latent

imageFill.mode を設定し、現在のアセットとクロップ矩形は保持します。未知の文字列や空文字列は、失敗する代わりに現在のモードにフォールバックします。

ピン方向備考
inin · exec
nextout · exec
elementin · dataelement:nl.image
fitModein · datastringカード上のリテラルを受け付けます。

Get Image Crop Rect

blueprint.element.image.getCropRect · Pure

imageFill.cropPlacement を読み取ります。明示的なクロップがない場合は画像全体を報告します。

ピン方向備考
elementin · dataelement:nl.image
leftPctout · datafloat
topPctout · datafloat
widthPctout · datafloat
heightPctout · datafloat

Set Image Crop Rect

blueprint.element.image.setCropRect · Latent

クロップ矩形を書き込み、副作用として fitModecrop に切り替えます。

ピン方向備考
inin · exec
nextout · exec
elementin · dataelement:nl.image
leftPctin · datafloatカード上のリテラルを受け付けます。
topPctin · datafloatカード上のリテラルを受け付けます。
widthPctin · datafloatカード上のリテラルを受け付けます。
heightPctin · datafloatカード上のリテラルを受け付けます。

Get Image Flip X

blueprint.element.image.getFlipX · Pure

画像コンテンツレイヤーの水平反転を読み取ります。

ピン方向備考
elementin · dataelement:nl.image
flipXout · databoolean

Set Image Flip X

blueprint.element.image.setFlipX · Latent

水平反転を設定します。

ピン方向備考
inin · exec
nextout · exec
elementin · dataelement:nl.image
flipXin · databoolean

Get Image Flip Y

blueprint.element.image.getFlipY · Pure

画像コンテンツレイヤーの垂直反転を読み取ります。

ピン方向備考
elementin · dataelement:nl.image
flipYout · databoolean

Set Image Flip Y

blueprint.element.image.setFlipY · Latent

垂直反転を設定します。

ピン方向備考
inin · exec
nextout · exec
elementin · dataelement:nl.image
flipYin · databoolean

このページの目次