Maxscript,任何人都可以向我解释这个脚本(非常清楚)

时间:2014-11-21 05:01:35

标签: copy maxscript lego

- 乐高砖墙
shift = true
对于0到9的z做 (
  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]

1 个答案:

答案 0 :(得分:0)

逐行,首先设置一个变量来控制是否要移动行。然后,对于从零到十的行索引z,您将切换从true切换为false,反之亦然。分号是可选的,不是真正需要的。那是外循环。在内部for循环中,对于每个列索引x从0到9,您创建一个名为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]
)