UIタスクの標準プロパティ

ツリー化可能とされるUIタスクは、すべて共通のプロパティを持ちます。

  • .alpha 表示上の alpha 値
  • .color 表示上の RGB 値
  • .scaleX 表示上のscale値(x方向)
  • .scaleY 表示上のscale値(y方向)
  • .rot 表示上の回転角(正方向で時計廻り。単位は degree)
  • .x 表示位置(x)
  • .y 表示位置(y)
  • .visible 表示の可否(boolean)

これらは同じ手続きで操作できます。

UIタスクの標準コマンド

ツリー化可能とされるUIタスクは、すべて共通のコマンドを受け付けます。

UI_GENERIC_NODE_RECONNECT

注意:このコマンドは本来望ましくない処理を行うものであり、動作を理解しないまま使用するのは大変危険であるため、正しい動作を理解の上自己責任で使用すること!!

自身の「代表ノード」を接続する先を、親タスクの持つ代表ノードではなく、 親タスクの代表ノード以下になる別のノードに変更する。

接続先のノードは名前で指定する。 親タスクが存在しなければならず、またUIタスクでなければならない。 親タスクが指定の名称のノードを持たない場合は基本的に何もしない。

接続先として指定するノードは、親タスクが保有するノードでなければならない。同じ親を持つ兄弟の階層となったタスクが保有しているノードが、指定した名前を持つ場合の動作は保障しない。

また、このコマンドはUIタスクの持つSceneGraphを上位となるUIタスクのRootノード以外のノードに接続しなおすだけであり、 Compositeのロードにより起動されるタスクのような「タスク付きノード」を生成するものではない。このため、UI_FormやUI_Listの UI_(FORM|LIST)_UPDATE_NODE の FORM_NODE_TASKでタスクポインタを取得することはできないことに注意。

  • UI_GENERIC_NODE_RECONNECT
       pParent UI_*( ... )
       pChild= UI_*(pParent, ...)
       sysCommand(pChild, UI_GENERIC_NODE_RECONNECT, "<reconnect node name>")
    
       ※上記例の場合、pParent が持つツリーに、<reconnect node name>で指定した名称のノードが無ければならない。
    
UI_GENERIC_SET_NAME
そのUIタスクの持つRootノードに、検索で使用可能な名前を与える。

ただし、Rootノードが既に名前を持っている場合は再設定できない。Compositeから生成されたUIタスクや、すでに名前を与えられている場合がこれに該当する。

  • UI_GENERIC_SET_NAME
      pTask = UI_*( ... )
      sysCommand(pTask, UI_GENERIC_SET_NAME, "<new task name>")
    
UI_GENERIC_ANIM_SET_SPLINE
自身の代表ノードに対し、スプラインアニメーションを設定する。 スプラインアニメーション情報はLuaテーブルの形式で与える。

現在再生中のアニメーションがある場合は、このコマンド呼び出しによって停止される。

  • UI_GENERIC_ANIM_SET_SPLINE
       pParent UI_*( ... )
       sysCommand(pChild, UI_GENERIC_ANIM_SET_SPLINE, <table-spline-data>)
    
       <table-spline-data> = {
           {
               target = <modify-target>,
               mode = <value-mode>,
               keys = {
                   { <time>, <value> },
                   { <time>, <value> },
                   { <time>, <value> },
                   { <time>, <value> },
                          :
                          :
               },
           },
           {
               target = <modify-target>,
               mode = <value-mode>,
               keys = {
                   { <time>, <value> },
                   { <time>, <value> },
                   { <time>, <value> },
                   { <time>, <value> },
                          :
                          :
               },
           },
            :
            :
       }
    
       <modify-target> 以下のうちどれか一種を指定。
           SPL_MODIFY_X
           SPL_MODIFY_Y
           SPL_MODIFY_SCALE
           SPL_MODIFY_R
           SPL_MODIFY_G
           SPL_MODIFY_B
           SPL_MODIFY_A
           SPL_MODIFY_ROT
    
       <value-mode> 以下のうち、どちらかを指定。指定されない場合は SPL_VALUE_INT 扱いになる。
           SPL_VALUE_INT  <value>を整数で指定。
           SPL_VALUE_NUM  <value>を実数で指定。
    
       <time> キーの時刻
       <value> <time>で指定された時刻における値(値の形式は<value-mode>で指定)
    
UI_GENERIC_ANIM_PLAY
自身の代表ノードに設定されたスプラインアニメーションを再生する。 実行前に、UI_GENERIC_ANIM_SET_SPLINE でアニメーション情報が設定されている必要がある。
  • UI_GENERIC_ANIM_PLAY
       pParent UI_*( ... )
       sysCommand(pChild, UI_GENERIC_ANIM_PLAY)
    
UI_GENERIC_ANIM_STOP
自身の代表ノードに設定されたスプラインアニメーションが再生中の場合に、それを停止する。
  • UI_GENERIC_ANIM_STOP
       pParent UI_*( ... )
       sysCommand(pChild, UI_GENERIC_ANIM_STOP)
    
UI_GENERIC_IS_ANIM
自身の代表ノードが現在アニメーション中か否かを返す。
  • UI_GENERIC_IS_ANIM
       pParent UI_*( ... )
       <is-animating> = sysCommand(pChild, UI_GENERIC_IS_ANIM)
    
       <is-animating> trueでアニメーション中、falseで停止中
    
UI_GENERIC_SET_COLOR
標準プロパティ .alpha および .color を設定する。
  • UI_GENERIC_SET_COLOR
       pParent UI_*( ... )
       sysCommand(pChild, UI_GENERIC_SET_COLOR, <alpha>, <rgb>)
    
UI_GENERIC_SET_SCALE
標準プロパティ .scaleX および .scaleYを設定する。
  • UI_GENERIC_SET_SCALE
       pParent UI_*( ... )
       sysCommand(pChild, UI_GENERIC_SET_SCALE, <scale-x>, <scale-y>)
    
UI_GENERIC_SET_ROT
標準プロパティ .rot を設定する。
  • UI_GENERIC_SET_ROT
       pParent UI_*( ... )
       sysCommand(pChild, UI_GENERIC_SET_ROT, <rot>)
    
UI_GENERIC_SET_VISIBLE
標準プロパティ .visible を設定する。
  • UI_GENERIC_SET_VISIBLE
       pParent UI_*( ... )
       sysCommand(pChild, UI_GENERIC_SET_VISIBLE, <visible>)