No.11 zIndex値の調整作業
03 値の調整を行う
 
 ランダムになっているzIndexの値を補正するということは、下図のように



 値を、FileCount値を最大とする連番の番号とするところにあります。
 この為、スクリプトでは値を順に検索して、その値の並び順を代入するという手法をとっています。

全体の流れ  「Line 779〜791」



 具体的な手順は、
 1:考えられうるzIndex最大値「maxIndex」まで数値を検索
 2:存在する「 zIndexData[ ] 」配列の値を一つ一つ検索
 3:値が合致した場合、「 zIndexChannel[ ] 」配列 に count 値を代入

 となります。 「 zIndexChannel[ ] 」の配列番号は、値が合致した場合、つまり、条件分岐文でTRUEとなった場合にのみ値が追加されるので、結果として連番で記録されることになるわけです。


値の調整  「Line 780〜787」
 

「line 780〜787」


  for (count=0 ; count < maxIndex + 1 ; count ++){
    for(check=0 ; check < FileCount ; check ++){
      if (count == zIndexData[check]){
        zIndexChannel[zCount] = check;
        zCount ++;
      }
    }
  }

 上記のアルゴリズムは、一連の流れの中で、「 zIndexChannel[ ] 」配列に、連番の数値を代入するスクリプトになります。  こうすることで、「 zIndexChannel[ ] 」配列には、対応する「 zIndexData[ ] 」配列の正規の値が代入されることになります。

値の代入  「Line 789〜791」
 
 作成された「 zIndexChannel[ ] 」配列情報の代入は、下記のスクリプトによって行われます。

「line 789〜791」


  for (count=0 ; count ≤ FileCount; count ++){
    zIndexData[zIndexChannel[count]] = count;
  }

 実際のところ、上記値の調整段階で 「 zIndexData[ ] 」配列に情報を書き込むことも可能ですが、製作時の便宜上、分かれています。 このあたりは改変の余地、ありです。

 zIndexData[zIndexChannel[count]] = count;
 は、zIndexChannel[count] の値、即ち、対応した値の配列値を格納しているので、その値をそのまま「 zIndexData[ ] 」配列の番号として利用しています。 「 count 」変数は、[ for ]で1づつ回されるので、結果として、連番を「 zIndexData[ ] 」配列に格納することが可能になります。



ページの最上段へ移動します