ASTER::ACTION::JSON::Create New JSON Array and fill elements, by info about Target Active Object.

using JSON Pointer

メモリ上に展開された既存 JSON に対して新規配列 ( 2D-Array ) を作成、配列に値を自動挿入する機能。

データ挿入にアクティブオブジェクトを利用し、新規の二次元配列として作成されます。

8020_aster_create_json_array_by_active_obj_creation_id.gif

パラメータ 1 : ターゲット選択

ターゲット・アクティブオブジェクトを選択

パラメータ 2 : JSON Pointer

JSON Pointer で配列型データの挿入位置を指定、配列を作成。キー名は重複の無いものを選ぶ、重複した場合、上書きされる。

e.g.

  "/test"  <!-- ルート直下に "test" というキー名で配列を作成 -->
  

パラメータ 3 : 配列に挿入される要素数

配列に対してデータ型を挿入する回数=配列要素数。繰り返し処理の回数。

作成された配列に、パラメータで指定した回数、配列を繰り返し挿入する。

e.g.

  5 <!--   >> 配列内部に 5 つ配列データを挿入する -->
  

アクティブオブジェクトをターゲットに指定し、ターゲットの各情報を基に配列内部に配列として代入される。( 二次元配列の作成 )

配列へ代入される配列数が、ターゲット・アクティブオブジェクトのインスタンス数より多い場合、ターゲット・アクティブオブジェクトの値が自動的に繰り返し再利用されます。以下に例示す。

配列の内部に作成される配列が 10 、ターゲットのインスタンス数が 5 の場合、

e.g.

       Array[0] - [1] - [2] - [3] - [4] - [5] - [6] - [7] - [8] - [9];
     objct[0] - [1] - [2] - [3] - [4] - [0] - [1] - [2] - [3] - [4];
  

上記のように配列要素とオブジェクトインスタンスがリンクしながら、不足分は前の値が再利用され繰り返し実行される。

注意点:1

メモリ上に展開されている JSON に対して変更が加えられる。

JSON ファイルから JSON がメモリにロードされている場合、ファイル内容には一切影響が無い。

注意点:2

保存されるアクティブオブジェクトの基本情報は 7 つ

  1. spread id
  2. Object Creation ID
  3. Layer Pos
  4. X pos
  5. Y pos
  6. Animation Dir
  7. Animation Frame

spread id は 0 開始の通し番号、これは本来オブジェクトの持つ値ではない

e.g.

配列要素数が 10 、ターゲット・インスタンス数が 5 の場合、行列のコピーなので spread id も本来 0 ~ 4 で重複するが、この部分だけは特別に重複しない通し番号が代入される。

よって連番は 0 ~ 9 が割り振られる。

( この仕様は今後不都合があったら削除されます。 )