0

--Lego 砖墙
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] 其他[20+ 40*x,0,20*z]
)

4

1 回答 1

0

逐行,首先你设置一个变量来控制你是否移动行。然后对于从零到十的行索引 z,您将转换从真切换为假,反之亦然。分号是可选的,并不是真正需要的。这就是外循环。在内部 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 回答