0

--レゴ ブロックの壁
shift = true
for z in 0 to 9 do
(
shift = not shift; -- なぜコロン?
for x = 0 to 9 do (copy $Lego).pos = if shift then [40*x,0 ,20*z] else[20+ 40*x,0,20*z]
)

4

1 に答える 1

0

行ごとに、最初に行をシフトするかどうかを制御する変数を設定します。次に、0 から 10 までの行インデックス z に対して、シフトを true から false に、またはその逆に切り替えます。セミコロンはオプションであり、実際には必要ありません。それが外側のループです。内側の for ループでは、0 から 9 までの各列インデックス x に対して、Lego という名前のシーン ノードのコピーを作成します。行番号が偶数の場合、x 軸をシフトします。

行インデックスが偶数であるかどうかのモジュロ チェックを使用して、オブジェクトのコピーを作成し、後でその位置を設定する代わりに、コンストラクターでそれを行うこともできます。

for z in 0 to 9 do
(
    local shift = if mod z 2 == 0 then 20 else 0
    for x = 0 to 9 do copy $Lego pos:[shift + 40 * x, 0, 20 * z]
)
于 2014-11-21T08:44:15.143 に答える