![](https://csdnimg.cn/release/download_crawler_static/10488769/bg4.jpg)
到小目标……不知道开发 MAXScript 的人怎么想的,反正我觉得挺习惯:)
如果像上面那样只输入属性名称,那 Listener 只会告诉你该属性的数值。而如果想要修
改它为一个新值,则使用 $.属性=数值 的格式,如$.length = 12.5。 而要修改为相对值,则
可以用 += , -= , *= 和 /= 来表示在当前值之上进行加减乘除,比如 $.radius /= 6 表示将当前物
体的半径属性除以 6(如果它有 radius 属性的话)。
提示:对于 Listener 中的命令,输入后最好用小键盘的回车,因为小回车会命令 MAXScript
立即执行该行代码,而大回车在某些情况下会等待输入更多条件语句。
在等号后面使用的数值并不一定得是简单的数字。我们可以使用其他的属性值、数学表
达式,或者在其他属性之上进行数学运算。
$还有另一个类似的用法:在它后面接物体的名称,比如输入 $Box01,就等于告诉
MAXScript 说我们要对名为 Box01 的物体进行操作,用这样的格式来套用上面所说的属性修
改方法同样适用(比如 $box01.height)。此外,也可以和在 Windows 系统中一样使用通配符*
和?,比如输入 $box*, 就等于指定了名称中以 box 开头的所有物体。(我们将在后续部分深
入讨论对于多物体操作的知识。)
提示:如果物体名称中存在空格,那么在 MAXScript 中提到它们的时候就要在名称两端
加上单引号,例如 $'my box'
“Show” 命令
我们怎样才能知道一个物体所具有的属性名称呢?从上面的例子可以看出不同的物体
具有的属性名称可能远远超出了我们的记忆能力,这就是 show 命令的用武之地了。show
可以在 MAXScript Listener 中显示一个物体的属性名称列表。例如选择一个 box 之后输入
show $,就可以看到 Listener 返回了这样的信息:
.height : float
.length : float
.lengthsegs : integer
.width : float
.widthsegs : integer
.mapCoords : boolean
.heightsegs : integer
false
冒号左边的单词是属性名,冒号右边的词指出该属性所需的数值类型(末尾的那个 false
是 MAXScript 在打嗝,我们就当没听见好了)。如果我们试图为某个属性赋予一个错误类型
的值,比如 $Sphere01.radius = true,那 MAXScript 就会抱怨出一行的红字的错误信息。
提示:常用数值类型的名称含义
integer:整数
float:浮点数(即允许带小数)
string:字符串,数值外要带有双括号,例如 "hello world"
boolean:真\假 值,也用来表示打开和关闭,可以使用 true,false,on,off
point2:二维坐标,两个数字之间用逗号分隔,外加方括号,例如 [10,20]