UI_RubberBand

   <task pointer> = UI_RubberBand( <parent pointer>, <order>, <origin x>, <origin y>, "<origin asset>", "<joint asset>", "<point asset>",
                              <resolution>[ , <option flags>, <animation time>, <joint priority offset>, <point priority offset>,
                                              <origin-rot-enable>, <joint-rot-enable>, <point-rot-enable> ])

引数

  • <parent pointer> 親UIのポインタ
  • <order> 表示プライオリティ。始点の表示に使用される。
  • <origin x>, <origin y> 始点座標
  • <origin asset> 始点表示に使用する画像asset。向きに合わせて回転するので「右向きで」作る。
  • <joint asset> 中間表示に使用する画像asset。回転しないので、回転しなくても違和感のないデザインで作る。
  • <point asset> 終点表示に使用する画像asset。向きに合わせて回転するので「右向きで」作る。
  • <resolution> 分割数。始点と終点の間をこの数に分割した境界に中間点が表示される。
  • <option flags> オプションの動作フラグ。下記の値を論理和で指定可能。
    • RB_ANIM_ENABLE アニメーションを行う。始点方向から終点方向に向かい、中間点がループアニメーションする。
    • RB_ANIM_REALTIME アニメーション時間を実時間で解釈する。
  • <animation time> アニメーションフラグが有効な場合には <joint priority offset> のひとつ前に引数をセットする必要があります。アニメーションの1ループにかかる時間を設定します。
  • <joint priority offset> 中間表示のプライオリティに与える、始点プライオリティからのオフセット。デフォルトは 1
  • <point prioriry offset> 終点表示のプライオリティに与える、始点プライオリティからのオフセット。デフォルトは 2
  • <origin-rot-enable> 始点画像を回転させるか否か。デフォルトはtrue(回転する)
  • <joint-rot-enable> 中間表示画像を回転させるか否か。デフォルトは false(回転しない)
  • <point-rot-enable> 終点画像を回転させるか否か。デフォルトはtrue(回転する)

戻り値

  • <task pointer> 生成された UI_RubberBand タスクのポインタ

解説

始点と終点の間を結ぶ直線状にスプライトを並べて表示します。 矢印の表示に使用できます。

タスクの動作中、始点と終点の座標を下記プロパティで変更することができます。

   pRB = UI_RubberBand(...)
   prop = TASK_getProperty(pRB)
 
   -- 始点座標
   prop.originX = <始点x>
   prop.originY = <始点y>

   -- 終点座標
   prop.pointX = <終点x>
   prop.pointY = <終点y>

   TASK_setProperty(pRB)

始点と終点に指定された画像は、両者を結ぶ線分の傾きに合わせて回転します。 中間点の画像は回転されませんので、それを踏まえて素材を作る必要があります。

コマンド

UI_RUBBAND_SET_ORDER::

各パーツの表示プライオリティを変更する

* UI_RUBBAND_SET_ORDER

   pRubBand = UI_RubberBand(...)
   sysCommand(pRubBand, UI_RUBBAND_SET_ORDER, <order-origin>, <order-joint>, <order-point>)