MaxScript入门指引系列(二)变量和语句

MaxScript入门指引系列(二)变量和语句_第1张图片     MaxScript入门指引系列(二)变量和语句_第2张图片

每一种编程语言都有其语法,如同MatLab的脚本语言,MaxScript的脚本语言的语法相当简单。对于声明变量时,无需像C++那样在变量前面加数据类型;循环和判断语句也显得特别直白。

 

1. 变量和数据类型
MaxScript的数据类型主要有四种:float, integer, boolean, string
变量的声明格式:variableName = variableValue;
如在listener中输入:myVariable=34.5, 则说明变量myVariable是float型,执行后返回值34.5。
变量表达式:
如再输入:2*myVariable,执行后返回69.0。说明上一语句定义的变量在该句仍然可以使用,只有在清除该变量之后,它才会失去作用。
数据类型转换: variable as datatype
如:"35" as integer, 则将字符串类型转化为整型了。注意:字符串类型用双引号括起来。

2. 循环语句 :
for obj in $ do
(
code goes here
)
当然事先需在场景中选择物体。意思是,在选中的每一个物体中,都要执行括号中的语句。

3. 比较操作符 :==, !=, >, <, 返回值为true/false
如输入:5 == 2,则返回false;

4. 判断语句if
if(expression resulting in true or false) do
(
code goes here
)

Practice : 在场景中创建了一个小球矩阵,对其中的一些小球添加了bend修改器。任务:对添加了修改器的物体,修改bend的一些参数。
--为了查看该修改器的属性,先选择一个应用了该修改器的物体,然后使用如下语句查询:
showproperties $Sphere09.bend
  .BendAngle (Angle) : float
  .BendDir (Direction) : float
  .BendAxis (Axis) : integer
  .FromTo (Limit) : boolean
  .BendFrom (LowerLimit) : float
  .BendTo (UpperLimit) : float
  .Center : point3
  .Gizmo : transform
false
--选中场景中所有物体,对每个物体进行逐个判断,若应用了bend,则需修改其参数;对于没有应用bend的物体,不应进行修改它的参数。
for obj in $ do
(
if(obj.modifiers[#bend] != undefined) do
(
obj.modifiers[#bend].BendAngle = 60
obj.modifiers[#bend].BendDir = 30
obj.modifiers[#bend].BendAxis=2
)
)

你可能感兴趣的:(String,脚本,Integer,matlab,语言,float)