私はN個の要素の配列を持っています。座標計算を簡素化
各グループは4x4の要素表であるグループのセットのように画面に配置する必要があります。テーブルの幅はTW = 320pxです。高さはTH = 480pxです。各テーブルのローカル座標で
:
- 列間のギャップと等しくなければなりません。最初の列と左端の間のギャップは、4列目と右端の間のギャップと等しくなければならず、境界GapX = 60pxと等しくなければなりません。
- 行間のギャップは、等しくなければなりませんrowsGapY = 60px;最初の行は最初から150ピクセルです。画面のグローバル座標で
:
- テーブルはtablesGapX = 300 PXのギャップを有する別の近くに位置して配置されなければなりません。 ... かの演算子や内側のループなし -
は、今、私たちはちょうど式でループ内の各要素のXとYの位置を設定する必要があります...助け
私は実際にどのように覚えていないが、私はこのようなものになってしまった、それが動作します:
for i=1,N do
element.x, element.y =
(((i%4)==0) and (TW-borderGapX) or ((i%4==1) and borderGapX or borderGapX+((TW-borderGapX*2)/3)*((i%4)-1)))+math.floor(i/16)*tablesGapX - ((((i%4==0) and (i%16==0))) and tablesGapX or 0),
firstRowY+math.floor((i-1)/4)*rowsGapY - (math.floor(i/16)*rowsGapY*4) + ((((i%4==0) and (i%16==0))) and rowsGapY*4 or 0)
end
誰かが私はそれを簡略化する助けてください!
'(aとb)または(cとd)...'スタイルステートメントを置くよりも 'if-else'ブロックを使う方が簡単だと思います。 – hjpotter92
' tablesGapX
要素のサイズ(またはサイズ)は何ですか?すべての要素が同じ大きさであるか、いくつかの異なるサイズになるか、完全にランダムであるかによって、アルゴリズムは異なります。 –