--乐高积木墙
shift = true
对于0到9的z,请执行以下操作
(
shift = not shift;--为什么使用冒号?
对于x=0到9,do (copy $Lego).pos = if shift then 40*x,0,20*z else20+ 40*x,0,20*z
)
发布于 2014-11-21 16:44:15
逐行地,首先设置一个变量,该变量控制是否要移动行。然后,对于行索引z从0到10,您可以将移位从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]
)https://stackoverflow.com/questions/27054430
复制相似问题