メインコンテンツまでスキップ

<pc-element>

<pc-element>タグは、要素コンポーネントを定義するために使用されます。要素コンポーネントはユーザーインターフェースの構成要素であり、type 属性で選択する groupimagetext の3つのタイプがあります。適用される属性はタイプによって異なります。

名前に反して、これは基底クラスでも汎用のラッパーでもありません。<pc-element>はエンジンの2D UIコンポーネントであり、すべてのコンポーネントタグと同じように、自分が追加するコンポーネント(entity.element)を名前で表します。ホストとなるエンティティに、<pc-screen>の階層内で画像・1行のテキスト・あるいは何も描画しない矩形を与えます。

使用法
  • これは、<pc-entity>の直接の子である必要があります。
注記

イメージ要素はスプライト(sliced<pc-asset> による9スライススプライトを含む)またはテクスチャをレンダリングでき、mask として子孫をクリップすることもできます。font-asset が必要なのはテキスト要素のみです。

属性

属性タイプデフォルト説明
anchorVector4"0 0 0 1"要素のアンカーを親に対する left bottom right top で設定します。各値は 0〜1。[0,0,0,0] は親の左下に固定、[1,1,1,1] は右上に固定。左右または上下が異なる(スプリットアンカー)場合、その範囲に合わせて要素がリサイズされます(例: [0,0,1,1] は親全体を埋めます)。
auto-fit-heightBoolean"false"フォントサイズを(min-font-size まで)縮小して、テキストを要素の高さに収めます。auto-height="false" が必要です。テキスト要素のみ
auto-fit-widthBoolean"false"フォントサイズを(min-font-size まで)縮小して、テキストを要素の幅に収めます。auto-width="false" が必要です。テキスト要素のみ
auto-heightBoolean"true"テキストコンテンツに合わせて高さを自動的に調整するかどうか。テキスト要素のみ
auto-widthBoolean"true"テキストコンテンツに合わせて幅を自動的に調整するかどうか。テキスト要素のみ
colorColor"1 1 1 1"スペース区切りのRGBA値、16進数コード、または名前付きカラーとしての色
enable-markupBoolean"false"スタイル付きテキストのマークアップ処理を有効にします。色付きテキストの場合は [color="#ff0000"]text[/color] などのタグをサポートします。
enabledBoolean"true"コンポーネントの有効状態
font-assetString-フォント <pc-asset> のID (font 型アセットを参照する必要があります)。テキスト要素でのみ必須です
font-sizeNumber"32"ピクセル単位のフォントサイズ
heightNumber"0"ピクセル単位の高さ (自動サイズ調整の場合は0)
line-heightNumber"32"ピクセル単位の行の高さ
marginVector4-スプリット(ストレッチ)アンカーからの要素のインセットを left bottom right top で指定します。ポイントアンカーの場合は、代わりに width/height がサイズを決定します
maskBoolean"false"要素が子孫を自身の範囲にクリップするかどうか。イメージ要素のみ
max-font-sizeNumber"32"自動フィット時に使用される最大のフォントサイズ
min-font-sizeNumber"8"自動フィット時に使用される最小のフォントサイズ
opacityNumber"1"不透明度。0(透明)〜1(不透明)
pivotVector2"0.5 0.5""X Y" 値としてのピボットポイント
pixels-per-unitNumber-スプライトをレンダリングするときに使用される、ユニットあたりのピクセル数。イメージ要素のみ
sprite-assetString-レンダリングするスプライト <pc-asset> のID。イメージ要素のみ
sprite-frameNumber"0"レンダリングするスプライトのフレームインデックス。イメージ要素のみ
textString-表示するテキストコンテンツ
texture-assetString-レンダリングするテクスチャ <pc-asset> のID。イメージ要素のみ
typeEnum"group"要素の型: "group" | "image" | "text"
use-inputBoolean"false"要素がポインター入力を受け取るかどうか。<pc-button> とスクロールビューの操作に必要です
widthNumber"0"ピクセル単位の幅 (自動サイズ調整の場合は0)
wrap-linesBoolean"false"テキストの行を折り返すかどうか

パネルとしての image 要素の上に、2つの text 要素を重ねています。2つ目は enable-markup によるインラインの色付けを使用しています。textfont-size、パネルの color を編集してみましょう:

ライブサンプル
<pc-app>
<pc-asset src="https://developer.playcanvas.com/assets/fonts/arial.json" type="font" id="arial"></pc-asset>
<pc-scene>
<pc-entity name="camera">
<pc-camera clear-color="#1d1f2b"></pc-camera>
</pc-entity>
<pc-entity name="ui">
<pc-screen screen-space="true" scale-mode="blend" reference-resolution="640 320"></pc-screen>
<pc-entity name="panel">
<pc-element type="image" anchor="0.5 0.5 0.5 0.5" pivot="0.5 0.5"
width="400" height="150" color="#2a2d36" opacity="0.9"></pc-element>
<pc-entity name="heading" position="0 35 0">
<pc-element type="text" anchor="0.5 0.5 0.5 0.5" pivot="0.5 0.5"
font-asset="arial" font-size="36" text="<pc-element>"></pc-element>
</pc-entity>
<pc-entity name="body" position="0 -25 0">
<pc-element type="text" anchor="0.5 0.5 0.5 0.5" pivot="0.5 0.5"
font-asset="arial" font-size="20" enable-markup="true"
text='Comes in [color="#ff8a3c"]group[/color], [color="#7ab8ff"]image[/color] and [color="#8ce99a"]text[/color] types'></pc-element>
</pc-entity>
</pc-entity>
</pc-entity>
</pc-scene>
</pc-app>

JavaScriptインターフェース

ElementComponentElement APIを使用して、<pc-element>要素をプログラムで作成および操作できます。